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)文章
JavaScript中校驗(yàn)銀行卡號(hào)的實(shí)現(xiàn)代碼
本文通過(guò)案例給大家介紹了js中校驗(yàn)銀行卡號(hào)的代碼,代碼小編測(cè)試過(guò),可行。代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2016-12-12JavaScript Drum Kit 指南(純 JS 模擬敲鼓效果)
這篇文章主要介紹了JavaScript Drum Kit 指南,也就是純 JS 模擬敲鼓效果實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-07-07JavaScript原型繼承_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了JavaScript原型繼承的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06js模擬淘寶網(wǎng)的多級(jí)選擇菜單實(shí)現(xiàn)方法
這篇文章主要介紹了js模擬淘寶網(wǎng)的多級(jí)選擇菜單實(shí)現(xiàn)方法,涉及javascript針對(duì)頁(yè)面元素結(jié)點(diǎn)的遍歷與設(shè)置等操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08javascript如何讀寫(xiě)本地sqlite數(shù)據(jù)庫(kù)
這篇文章主要介紹了javascript如何讀寫(xiě)本地sqlite數(shù)據(jù)庫(kù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02利用js正則表達(dá)式驗(yàn)證手機(jī)號(hào),email地址,郵政編碼
利用js正則表達(dá)式驗(yàn)證手機(jī)號(hào),email地址,郵政編碼。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01JavaScript高級(jí)程序設(shè)計(jì) 閱讀筆記(十九) js表格排序
js表格排序?qū)崿F(xiàn)代碼,需要的朋友可以參考下2012-08-08