javascript中檢測變量的類型的代碼
更新時(shí)間:2010年12月28日 23:18:20 作者:
javascript對于變量的定義、類型的要求都比較松散,這樣既方便,但又容易犯錯(cuò)。有時(shí)候進(jìn)行必要的類型檢查是必須的。
常用檢查變量類型的方法有兩種,下面是解說:
檢查變量類型方法一:typeof
格式:typeof 變量
用法:if( typeof 變量 == "類型標(biāo)識(shí)") { ... }
下面是一些常用數(shù)據(jù)類型對應(yīng)的typeof值:
{an:"object"} : object
["an","array"] : object
function() {} : function
"a string" : string
55 : number
true : boolean
new User() : object
從上表中,可以看出用typeof取得變量類型時(shí),對于數(shù)組、對象、自定義類的對象同視為object,其它類型檢查正常。所以它無法判斷出對象是object,還是array,還是User。那么,此時(shí)我們可用第二種方法處理。
檢查變量類型方法二:構(gòu)造函數(shù)法(constructor)
格式:變量.constructor
用法:if(變量.constructor == "類型標(biāo)識(shí)符") { ... }
{an:"object"} : Object
["an","array"] : Array
function() {} : Function
"a string" : String
55 : Number
true : Boolean
new User() : User
從上表中可以看出,我們能正確獲取到每種數(shù)據(jù)的類型。所以,盡量使用變量的構(gòu)造函數(shù)來獲取變量類型更好。
不過,有時(shí)候這樣也更方便:
if(typeof 變量 == "undefined") { ... }
檢查變量類型方法一:typeof
格式:typeof 變量
用法:if( typeof 變量 == "類型標(biāo)識(shí)") { ... }
下面是一些常用數(shù)據(jù)類型對應(yīng)的typeof值:
{an:"object"} : object
["an","array"] : object
function() {} : function
"a string" : string
55 : number
true : boolean
new User() : object
從上表中,可以看出用typeof取得變量類型時(shí),對于數(shù)組、對象、自定義類的對象同視為object,其它類型檢查正常。所以它無法判斷出對象是object,還是array,還是User。那么,此時(shí)我們可用第二種方法處理。
檢查變量類型方法二:構(gòu)造函數(shù)法(constructor)
格式:變量.constructor
用法:if(變量.constructor == "類型標(biāo)識(shí)符") { ... }
{an:"object"} : Object
["an","array"] : Array
function() {} : Function
"a string" : String
55 : Number
true : Boolean
new User() : User
從上表中可以看出,我們能正確獲取到每種數(shù)據(jù)的類型。所以,盡量使用變量的構(gòu)造函數(shù)來獲取變量類型更好。
不過,有時(shí)候這樣也更方便:
if(typeof 變量 == "undefined") { ... }
您可能感興趣的文章:
- JS中檢測數(shù)據(jù)類型的幾種方式及優(yōu)缺點(diǎn)小結(jié)
- 淺談javascript的數(shù)據(jù)類型檢測
- javascript基本數(shù)據(jù)類型及類型檢測常用方法小結(jié)
- js數(shù)據(jù)類型檢測總結(jié)
- JavaScript數(shù)據(jù)類型檢測代碼分享
- 在javaScript中檢測數(shù)據(jù)類型的幾種方式小結(jié)
- js學(xué)習(xí)總結(jié)_基于數(shù)據(jù)類型檢測的四種方式(必看)
- JS檢測數(shù)組類型的方法小結(jié)
- 如何檢測JavaScript的各種類型
- javascript中的數(shù)據(jù)類型檢測方法詳解
相關(guān)文章
JavaScript中校驗(yàn)銀行卡號(hào)的實(shí)現(xiàn)代碼
本文通過案例給大家介紹了js中校驗(yàn)銀行卡號(hào)的代碼,代碼小編測試過,可行。代碼簡單易懂,非常不錯(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針對頁面元素結(jié)點(diǎn)的遍歷與設(shè)置等操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08javascript如何讀寫本地sqlite數(shù)據(jù)庫
這篇文章主要介紹了javascript如何讀寫本地sqlite數(shù)據(jù)庫問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02利用js正則表達(dá)式驗(yàn)證手機(jī)號(hào),email地址,郵政編碼
利用js正則表達(dá)式驗(yàn)證手機(jī)號(hào),email地址,郵政編碼。需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01JavaScript高級(jí)程序設(shè)計(jì) 閱讀筆記(十九) js表格排序
js表格排序?qū)崿F(xiàn)代碼,需要的朋友可以參考下2012-08-08