JavaScript基于自定義函數(shù)判斷變量類型的實(shí)現(xiàn)方法
本文實(shí)例講述了JavaScript基于自定義函數(shù)判斷變量類型的實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
通常用typeof來(lái)判斷js變量的類型,但很多時(shí)候僅僅typeof滿足不了要求的。
我寫了一個(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)文章
SOSO地圖JS畫出標(biāo)注和中心點(diǎn)以html形式運(yùn)行
SOSO地圖想必大家都知道吧,本文將為大家詳細(xì)介紹下使用JS畫出標(biāo)注和中心點(diǎn),直接貼出代碼,感興趣的朋友可以參考下2013-08-08JavaScript 斐波那契數(shù)列 倒序輸出 輸出100以內(nèi)的質(zhì)數(shù)代碼實(shí)例
這篇文章主要介紹了JavaScript 斐波那契數(shù)列 倒序輸出 輸出100以內(nèi)的質(zhì)數(shù)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09詳解JavaScript中關(guān)于this指向的4種情況
這篇文章主要介紹了JavaScript中關(guān)于this指向的4種情況,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04微信小程序網(wǎng)絡(luò)請(qǐng)求封裝示例
這篇文章主要介紹了微信小程序網(wǎng)絡(luò)請(qǐng)求封裝示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07webpack學(xué)習(xí)筆記之優(yōu)化緩存、合并、懶加載
這篇文章主要介紹了webpack學(xué)習(xí)筆記之優(yōu)化緩存、合并、懶加載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08javascript實(shí)現(xiàn)單擊和雙擊并存的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)單擊和雙擊并存的方法,可通過(guò)定義二次點(diǎn)擊的間隔時(shí)間來(lái)達(dá)到判斷單擊與雙擊的效果,是非常實(shí)用的技巧,需要的朋友可以參考下2014-12-12新發(fā)現(xiàn)一個(gè)騙鏈接的方法(js讀取cookies)
新發(fā)現(xiàn)一個(gè)騙鏈接的方法(js讀取cookies),需要的朋友可以參考下。2012-01-01js實(shí)現(xiàn)年月日表單三級(jí)聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)年月日表單三級(jí)聯(lián)動(dòng),生日欄表單三級(jí)聯(lián)動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03