在javaScript中檢測數(shù)據(jù)類型的幾種方式小結
在用javaScript編程的過程中,我們經(jīng)常會遇到這樣一個問題,就是需要檢測一個數(shù)據(jù)或變量的類型,那么在javaScript中給我們提供了哪些方法呢?網(wǎng)上流傳的代碼比比皆是,但是發(fā)現(xiàn)其中有些是有誤的,索性我自己動手把每種方法用了一遍,今天我專門整理了下,以便以后查閱。
一、typeof 檢測
typeof 是一個一元運算符,語法:typeof(運算數(shù)),運算數(shù)可以是任意類型。它的返回值是一個字符串,該字符串說明運算數(shù)的類型。
// var arr = { name:"john"}; // object
// var arr = ["語文","數(shù)學"]; // object
// function Person() {}; // typeof(Person) => function
// var arr = '我是字符串' ; // string
// var arr = 66 ; // number
// var arr = true ; // boolean
// var arr = new Person(); // object
// var arr = undefined; // undefined
// var arr = null; // object
// var arr = /^\d{5,20}$/; // object
// console.log( typeof(arr) );
二、instanceof 檢測
instanceof 檢測某個對象是不是另一個對象的實例,可以在繼承關系中用來判斷一個實例是否屬于它的父類型。
// var arr = '我是字符串' ; // console.log( arr instanceof String ) => false
// var arr = 66 ; // console.log( arr instanceof Number ) =>false
// var arr = true ; // console.log( arr instanceof Boolean ) =>false
// var arr = ["語文","數(shù)學"]; // console.log( arr instanceof Array ) =>true
// var arr = { name:"john"}; // console.log( arr instanceof Object ) =>true
// var arr = function Person(){}; //console.log(arr instanceof Function)=>true
// var arr = undefined; // console.log(arr instanceof Object)=>false
// var arr = null; // console.log(arr instanceof Object)=>false
// var arr = /^\d{5,20}$/; // console.log(arr instanceof RegExp)=>true
三、Object.prototype.toString.call 檢測
使用Object.prototype上的原生toString()方法判斷數(shù)據(jù)類型,使用方法如下:Object.prototype.toString.call(value)
// var arr = '我是字符串' ; //[object String]
// var arr = 66 ; //[object Number]
// var arr = true ; //[object Boolean]
// var arr = ["語文","數(shù)學"]; //[object Array]
// var arr = { name:"john"}; //[object Object]
// var arr = function Person(){}; //[object Function]
// var arr = undefined; //[object Undefined]
// var arr = null; //[object Null]
// var arr = /^\d{5,20}$/; //[object RegExp]
// console.log( Object.prototype.toString.call(arr) );
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- JS中檢測數(shù)據(jù)類型的幾種方式及優(yōu)缺點小結
- 淺談javascript的數(shù)據(jù)類型檢測
- 關于JS數(shù)據(jù)類型檢測的多種方式總結
- js數(shù)據(jù)類型檢測總結
- JavaScript中檢測數(shù)據(jù)類型的四種方法
- javascript基本數(shù)據(jù)類型及類型檢測常用方法小結
- JavaScript數(shù)據(jù)類型檢測代碼分享
- js學習總結_基于數(shù)據(jù)類型檢測的四種方式(必看)
- JS數(shù)組索引檢測中的數(shù)據(jù)類型問題詳解
- js中各種數(shù)據(jù)類型檢測和判定的實戰(zhàn)示例
相關文章
基于JavaScript實現(xiàn)線性漸變的高斯模糊效果
這篇文章主要為大家詳細介紹了高斯模糊算法以及線性漸變的高斯模糊算法的原理,并通過一個小demo展示了如何實現(xiàn)y方向上線性漸變的高斯模糊效果,需要的可以了解下2024-01-01
IE與Firefox在JavaScript上的7個不同句法分享
盡管那需要用長串的、沉悶的不同分支代碼來應付不同瀏覽器的日子已經(jīng)過去,偶爾還是有必要做一些簡單的區(qū)分和目標檢測來確保某塊代碼能在用戶的機器上正常運行2011-10-10
小程序開發(fā)調(diào)用微信支付以及微信回調(diào)地址配置
本文主要介紹了小程序開發(fā)調(diào)用微信支付以及微信回調(diào)地址配置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05
event.X和event.clientX的區(qū)別分析
解釋一下event.X和event.clientX有什么區(qū)別?event.clientX返回事件發(fā)生時,mouse相對于客戶窗口的X坐標 event.X也一樣但是如果設置事件對象的定位屬性值為relative2011-10-10
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft區(qū)別分析
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft區(qū)別分析,需要的朋友可以參考下。2010-03-03
基于KO+BootStrap+MVC實現(xiàn)的分頁控件代碼分享
本段js和html兩段代碼實現(xiàn)分頁控件效果,下面通過本文給大家詳細介紹下基于KO+BootStrap+MVC實現(xiàn)的分頁控件,非常不錯,感興趣的朋友一起看看吧2016-11-11

