JavaScript基于自定義函數(shù)判斷變量類型的實(shí)現(xiàn)方法
本文實(shí)例講述了JavaScript基于自定義函數(shù)判斷變量類型的實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
通常用typeof來(lái)判斷js變量的類型,但很多時(shí)候僅僅typeof滿足不了要求的。
我寫(xiě)了一個(gè)自定義函數(shù)來(lái)做這個(gè)事,判斷的比較全面了。
function varType(v){
if ( typeof v=== "object" ){
if (v=== null ) return 'null' ;
if (v. constructor )
return (v. constructor .toString()).match(/(?: )[/w/$]+/)[ 0 ];
if ( typeof typeof2=== 'undefined' && window .execScript){
window .execScript( 'Function vbsTypeName(o):vbsTypeName=TypeName(o):End Function' , 'vbscript' );
window .execScript( 'function typeof2(o){return vbsTypeName(o)}' , 'jscript' );
}
if ( typeof typeof2!== 'undefined' ){
return typeof2(v);
}
return "object" ;
}
return typeof v;
}
//對(duì)于普通js常量和js對(duì)象,各瀏覽器是基本一致的
alert (varType()); //undefined
alert (varType( 100 )); //number
alert (varType({})); //Object
alert (varType([])); //Array
alert (varType(/ /)); //RegExp
alert (varType( new Date ())); //Date
alert (varType( Date )); //function
alert (varType( Object )); //function
alert (varType( RegExp )); //function
//對(duì)于DOM對(duì)象,各瀏覽器可能會(huì)有不同值
alert (varType( window )); //IE:HTMLWindow2 FF:Window
alert (varType( document )); //IE:HTMLDocument FF:HTMLDocument
alert (varType( document .body)); //IE:HTMLBody FF:HTMLBodyElement
alert (varType( Option )); //IE:Object FF:function
alert (varType( Image )); //IE:Object FF:function
alert (varType( navigator )); //IE:DispHTMLNavigator FF:Navigator
//以下幾個(gè)只適用于IE,其他內(nèi)核瀏覽器不支持
alert (varType( ActiveXObject )); //IE:function
alert (varType( Enumerator )); //IE:function
alert (varType( new ActiveXObject ( "Scripting.Dictionary" ))); //IE:Dictionary
alert (varType( new Enumerator ())); //IE:Enumerator
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript遍歷算法與技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JS判斷字符串變量是否含有某個(gè)字串的實(shí)現(xiàn)方法
- JavaScript判斷變量是否為數(shù)組的方法(Array)
- JS 判斷某變量是否為某數(shù)組中的一個(gè)值的3種方法(總結(jié))
- javascript中對(duì)變量類型的判斷方法
- javascript判斷變量是否有值的方法
- js中定義一個(gè)變量并判斷其是否為空的方法
- JavaScript判斷變量是對(duì)象還是數(shù)組的方法
- JavaScript中判斷變量是數(shù)組、函數(shù)或是對(duì)象類型的方法
- 關(guān)于JavaScript的變量的數(shù)據(jù)類型的判斷方法
- JS實(shí)現(xiàn)的判斷方法、變量是否存在功能示例
相關(guān)文章
實(shí)用的js 焦點(diǎn)圖切換效果 結(jié)構(gòu)行為相分離
行為層是由js來(lái)實(shí)現(xiàn)的,這里的工作只是搭建了一個(gè)簡(jiǎn)單的骨架,如果要讓效果圖美觀些并符合設(shè)計(jì)要求,就要發(fā)揮css的強(qiáng)大作用了。2010-06-06
JS旋轉(zhuǎn)實(shí)現(xiàn)轉(zhuǎn)盤抽獎(jiǎng)效果
這篇文章主要為大家詳細(xì)介紹了JS旋轉(zhuǎn)實(shí)現(xiàn)轉(zhuǎn)盤抽獎(jiǎng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
JS中判斷JSON數(shù)據(jù)是否存在某字段的方法
這篇文章主要介紹了JS中如何判斷JSON數(shù)據(jù)是否存在某字段,需要的朋友可以參考下2014-03-03
JavaScript?Canvas繪制六邊形網(wǎng)格
這篇文章主要為大家詳細(xì)介紹了JavaScript?Canvas繪制六邊形網(wǎng)格,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
15個(gè)高級(jí)前端開(kāi)發(fā)小技巧總結(jié)分享
這篇文章主要介紹了15種不依賴JavaScript的高級(jí)Web開(kāi)發(fā)技術(shù),涵蓋了從響應(yīng)式排版到圖像延遲加載的各個(gè)方面,展示了現(xiàn)代HTML和CSS的強(qiáng)大功能,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-11-11

