了解js的都知道, 有個typeof 用來判斷各種資料型別,有兩種寫法:typeof xxx ,typeof(xxx)
如下實例:
typeof 2 輸出 number
typeof null 輸出 object
##null
輸出
object
typeof {} 輸出 object
typeof [] 輸出 object
typeof (function(){}) 輸出#. #typeof '222' 輸出 string
typeof true 輸出 boolean
typeof true 輸出 boolean
這裡麵包含了五種資料類型』的資料類型類型與今天##類型function看到這裡你一定會問了:我怎麼去區分物件
,
陣列
和null呢?
接下來我們就用到另外一個利器:Object.prototype.toString.call
這是物件的一個原生原型擴充函數,用來更精確的區分資料型別。
我們來試試看這個玩兒意:
var gettype=Object.prototype.toString
gettype.call('aaaa')輸出 [object String]
gettype.call(2222) 輸出 [object Number]
#gettype.call(true) 輸出 [object Boolean]##d. ) 輸出 [object Undefined]
gettype.call(null) 輸出 [object Null]
#gettype.call({}) 輸出 [object Object]
#gettype.call({}) 輸出 [object Object]
#gettype. ([]) 輸出 [object Array]
gettype.call(function(){}) 輸出 [object Function]
看到這裡,我們解決了剛才的問題。
其實js 裡面還有好多型別判斷
[object HTMLpElement] p 物件,
[object HTMLBodyElement] body 物件,
#[object HTMLBodyElement] body 物件,
#[object
Document
](IE)或 [object HTMLDocument](firefox,google) ......
各種dom節點的判斷,這些東西在我們寫外掛的時候都會用到。
var gettype=Object.prototype.toString var utility={ isObj:function(o){ return gettype.call(o)=="[object Object]"; }, isArray:function(o){ return gettype.call(o)=="[object Array]"; }, isNULL:function(o){ return gettype.call(o)=="[object Null]"; }, isDocument:function(){ return gettype.call(o)=="[object Document]"|| [object HTMLDocument]; } ........ }
以上是使用js 判斷資料類型的簡單方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!