常用檢查變量類型的方法有兩種,下面是解說:
檢查變量類型方法一:typeof
格式:typeof 變量
用法:if( typeof 變量 == "類型標識") { ... }
下面是一些常用數據類型對應的typeof值:
{an:"object"} : object
["an","array"] : object
function() {} : function
"a string" : string
55 : number
true : boolean
new User() : object
從上表中,可以看出用typeof取得變量類型時,對於數組、對象、自定義類的對象同視為object,其它類型檢查正常。所以它無法判斷出對象是object,還是array,還是User。那麼,此時我們可用第二種方法處理。
檢查變量類型方法二:構造函數法(constructor)
格式:變量.constructor
用法:if(變量.constructor == "類型標識符") { ... }
{an:"object"} : Object
["an","array"] : Array
function() {} : Function
"a string" : String
55 : Number
true : Boolean
new User() : User
從上表中可以看出,我們能正確獲取到每種數據的類型。所以,盡量使用變量的構造函數來獲取變量類型更好。
不過,有時候這樣也更方便:
if(typeof 變量 == "undefined") { ... }