javascript中檢測(cè)變量的類(lèi)型的代碼
更新時(shí)間:2010年12月28日 23:18:20 作者:
javascript對(duì)于變量的定義、類(lèi)型的要求都比較松散,這樣既方便,但又容易犯錯(cuò)。有時(shí)候進(jìn)行必要的類(lèi)型檢查是必須的。
常用檢查變量類(lèi)型的方法有兩種,下面是解說(shuō):
檢查變量類(lèi)型方法一:typeof
格式:typeof 變量
用法:if( typeof 變量 == "類(lèi)型標(biāo)識(shí)") { ... }
下面是一些常用數(shù)據(jù)類(lèi)型對(duì)應(yīng)的typeof值:
{an:"object"} : object
["an","array"] : object
function() {} : function
"a string" : string
55 : number
true : boolean
new User() : object
從上表中,可以看出用typeof取得變量類(lèi)型時(shí),對(duì)于數(shù)組、對(duì)象、自定義類(lèi)的對(duì)象同視為object,其它類(lèi)型檢查正常。所以它無(wú)法判斷出對(duì)象是object,還是array,還是User。那么,此時(shí)我們可用第二種方法處理。
檢查變量類(lèi)型方法二:構(gòu)造函數(shù)法(constructor)
格式:變量.constructor
用法:if(變量.constructor == "類(lèi)型標(biāo)識(shí)符") { ... }
{an:"object"} : Object
["an","array"] : Array
function() {} : Function
"a string" : String
55 : Number
true : Boolean
new User() : User
從上表中可以看出,我們能正確獲取到每種數(shù)據(jù)的類(lèi)型。所以,盡量使用變量的構(gòu)造函數(shù)來(lái)獲取變量類(lèi)型更好。
不過(guò),有時(shí)候這樣也更方便:
if(typeof 變量 == "undefined") { ... }
檢查變量類(lèi)型方法一:typeof
格式:typeof 變量
用法:if( typeof 變量 == "類(lèi)型標(biāo)識(shí)") { ... }
下面是一些常用數(shù)據(jù)類(lèi)型對(duì)應(yīng)的typeof值:
{an:"object"} : object
["an","array"] : object
function() {} : function
"a string" : string
55 : number
true : boolean
new User() : object
從上表中,可以看出用typeof取得變量類(lèi)型時(shí),對(duì)于數(shù)組、對(duì)象、自定義類(lèi)的對(duì)象同視為object,其它類(lèi)型檢查正常。所以它無(wú)法判斷出對(duì)象是object,還是array,還是User。那么,此時(shí)我們可用第二種方法處理。
檢查變量類(lèi)型方法二:構(gòu)造函數(shù)法(constructor)
格式:變量.constructor
用法:if(變量.constructor == "類(lèi)型標(biāo)識(shí)符") { ... }
{an:"object"} : Object
["an","array"] : Array
function() {} : Function
"a string" : String
55 : Number
true : Boolean
new User() : User
從上表中可以看出,我們能正確獲取到每種數(shù)據(jù)的類(lèi)型。所以,盡量使用變量的構(gòu)造函數(shù)來(lái)獲取變量類(lèi)型更好。
不過(guò),有時(shí)候這樣也更方便:
if(typeof 變量 == "undefined") { ... }
您可能感興趣的文章:
- JS中檢測(cè)數(shù)據(jù)類(lèi)型的幾種方式及優(yōu)缺點(diǎn)小結(jié)
- 淺談javascript的數(shù)據(jù)類(lèi)型檢測(cè)
- javascript基本數(shù)據(jù)類(lèi)型及類(lèi)型檢測(cè)常用方法小結(jié)
- js數(shù)據(jù)類(lèi)型檢測(cè)總結(jié)
- JavaScript數(shù)據(jù)類(lèi)型檢測(cè)代碼分享
- 在javaScript中檢測(cè)數(shù)據(jù)類(lèi)型的幾種方式小結(jié)
- js學(xué)習(xí)總結(jié)_基于數(shù)據(jù)類(lèi)型檢測(cè)的四種方式(必看)
- JS檢測(cè)數(shù)組類(lèi)型的方法小結(jié)
- 如何檢測(cè)JavaScript的各種類(lèi)型
- javascript中的數(shù)據(jù)類(lèi)型檢測(cè)方法詳解
相關(guān)文章
原生JS實(shí)現(xiàn)簡(jiǎn)單的無(wú)縫自動(dòng)輪播效果
輪播效果是老生常談的話題,今天小編通過(guò)實(shí)例代碼給大家分享原生JS實(shí)現(xiàn)簡(jiǎn)單的無(wú)縫自動(dòng)輪播效果,感興趣的朋友跟隨小編一起學(xué)習(xí)吧2018-09-09
JavaScript函數(shù)調(diào)用經(jīng)典實(shí)例代碼
JavaScript提供了4種函數(shù)調(diào)用,一般形式的函數(shù)調(diào)用、作為對(duì)象的方法調(diào)用、使用 call 和 apply 動(dòng)態(tài)調(diào)用、使用 new 間接調(diào)用,下面這篇文章主要給大家介紹了關(guān)于JavaScript函數(shù)調(diào)用的相關(guān)資料,需要的朋友可以參考下2021-12-12
js+css實(shí)現(xiàn)的簡(jiǎn)單易用兼容好的分頁(yè)
使用html、js、css實(shí)現(xiàn)的簡(jiǎn)單易用兼容好的分頁(yè),具體的實(shí)現(xiàn)如下,感興趣的朋友可以參考下2013-12-12
js網(wǎng)頁(yè)版計(jì)算器的簡(jiǎn)單實(shí)現(xiàn)
這篇文章介紹了網(wǎng)頁(yè)版計(jì)算器的簡(jiǎn)單實(shí)現(xiàn)代碼,有需要的朋友可以參考一下2013-07-07
JS實(shí)現(xiàn)文字鏈接感應(yīng)鼠標(biāo)淡入淡出改變顏色的方法
這篇文章主要介紹了JS實(shí)現(xiàn)文字鏈接感應(yīng)鼠標(biāo)淡入淡出改變顏色的方法,實(shí)例分析了javascript操作鼠標(biāo)事件及css樣式的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
js判斷請(qǐng)求的url是否可訪問(wèn),支持跨域判斷的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇js判斷請(qǐng)求的url是否可訪問(wèn),支持跨域判斷的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09

