首頁 >web前端 >js教程 >使用js 判斷資料類型的簡單方法

使用js 判斷資料類型的簡單方法

怪我咯
怪我咯原創
2017-03-30 09:56:341404瀏覽

了解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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn