了解js的都知道, 有個typeof 用來判斷各種資料型別,有兩種寫法:typeof *** ,typeof(***)
如下例項:
typeof
2//number
typeof
null
//object
typeof
undefined
//undefined
typeof
'222'
//string
typeof
true
//boolean
typeof {} //object
typeof //object
typeof (function
(){}) //function
這裡面包含了js裡面的五種基本資料型別 number string boolean null undefined和引用資料型別object
看到這裡你肯定會問了:我怎麼去區分物件,陣列和null呢?
接下來我們就用到另外乙個利器object.prototype.tostring.call
這是物件的乙個原生原型擴充套件函式,用來更精確的區分資料型別。
我們來試試這個玩兒意兒:
var gettype=object.prototype.tostring
gettype.call('aaaa') // [object string]
或 gettype.call(new
string('abc'))// [object string]
gettype.call(2222) //[object number]
gettype.call(true) //[object boolean]
gettype.call(undefined) //[object undefined]
gettype.call(null) //[object null]
gettype.call({}) //[object object]
gettype.call() //[object array]
gettype.call(function
(){}) //[object function]
看到這裡,剛才的問題我們解決了。
constructor也能判斷資料型別,如:
''.constructor==string;
.constructor==array;
var obj= new object();
obj.constructor==object;
其實js 裡面還有好多型別判斷
[object htmldivelement] div 物件
[object htmlbodyelement] body物件
[object document](ie)或者
[object htmldocument](firefox,google)
...各種dom節點的判斷,這些東西在我們寫外掛程式的時候都會用到。
可以封裝的方法如下 :
var gettype=object.prototype.tostring
var utility=,
isarray:function
(o),
isnull:function
(o),
isdocument:function
() ........
}
js 判斷各種資料型別
了解js的都知道,有個typeof 用來判斷各種資料型別,有兩種寫法 typeof typeof 如下例項 typeof 2 輸出 number typeof null 輸出 object typeof 輸出 object typeof 輸出 object typeof function 輸出 fu...
JS 判斷各種資料型別
了解js的都知道,有個typeof 用來判斷各種資料型別,有兩種寫法 typeof typeof 如下例項 typeof 2 輸出 number typeof null 輸出 object typeof 輸出 object typeof 輸出 object typeof function 輸出 fu...
js 判斷各種資料型別
了解js的都知道,有個typeof 用來判斷各種資料型別,有兩種寫法 typeof typeof 如下例項 typeof 2 輸出 number typeof null 輸出 object typeof 輸出 object typeof 輸出 object typeof function 輸出 fu...