JavaScript的六種數據類型及判斷方法

對於javascript有六種數據類型,其中包括五種基本類型(string,boolean,number,undefined,null),跟一種引用類型(Object)

對於基本類型,可能大家都比較熟悉,基本概念就不做過多的介紹。

引用類型:一組屬性和方法的集合。常見的有:function、array、date等

前四種基本類型(string,boolean,number,undefined)的檢測,都可以用 typeof 來進行判斷變量的數據類型,例如:

利用typeof對變量進行檢測

但是有一種比較特殊,那就是null了,用typeof檢測 null ,null 表示的是對一個空對象的引用,返回的是對象類型(object),例如:

利用typeof對null進行檢測

對於這個問題,據說是歷史遺留的BUG,所以我們只要記住這個就行了。但是對於 null這種類型 我們要如何判斷呢

我們可以恆等於(===)來判斷變量是否爲null,例如:

利用===對null進行檢測

 

對於引用類型(Object)的檢測,可以使用 instanceof  或者 constructor 來檢測對象是否爲引用類型(Object)例如

Object類型的檢測

 

但是有時候,使用instanceof 跟 constructor,不能很準確的判斷出對象的類型,在不同的iframe下,instanceof跟constructor就不行了,因爲不同的執行環境原型鏈不同,所以即使都是數組或者其它對象,都會返回false。這樣下來判斷各種類型的數據類型,用typeof、instanceof、constructor都沒辦法準確地判斷所有數據類型。所以可以用Object.prototype.toString.call 精確地判斷各種數據類型,例如:

Object.prototype.toString.call 精確地判斷各種數據類型

 

以上就是JavaScript的幾種數據類型的判斷了,本人學生黨,對本文章有不同見解或發現本文章有錯誤,歡迎各位大神指正

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章