淺談javascript中的instanceof和typeof
對于instanceof和typeof,以前偶爾的用到過,特別是typeof用到的相對更多一些,今日研究ext源碼,很多地方都用到了instanceof,突然覺得他們兩個有些相似但也應(yīng)該有他們區(qū)別,網(wǎng)上看了一些文章,對它們之間的關(guān)系有了一定的了解。
instanceof和typeof都能用來判斷一個變量是否為空或是什么類型的變量。
typeof用以獲取一個變量的類型,typeof一般只能返回如下幾個結(jié)果:number,boolean,string,function,object,undefined。我們可以使用typeof來獲取一個變量是否存在,如if(typeof a!="undefined"){},而不要去使用if(a)因為如果a不存在(未聲明)則會出錯,對于Array,Null等特殊對象使用typeof一律返回object,這正是typeof的局限性。
如果我們希望獲取一個對象是否是數(shù)組,或判斷某個變量是否是某個對象的實例則要選擇使用instanceof。instanceof用于判斷一個變量是否某個對象的實例,如var a=new Array();alert(a instanceof Array);會返回true,同時alert(a instanceof Object)也會返回true;這是因為Array是object的子類。再如:function test(){};var a=new test();alert(a instanceof test)會返回true。
談到instanceof我們要多插入一個問題,就是function的arguments,我們大家也許都認(rèn)為arguments是一個Array,但如果使用instaceof去測試會發(fā)現(xiàn)arguments不是一個Array對象,盡管看起來很像。
- JS中typeof與instanceof之間的區(qū)別總結(jié)
- javascript instanceof,typeof的區(qū)別
- 詳解JavaScript中typeof與instanceof用法
- javascript instanceof 與typeof使用說明
- 關(guān)于javascript中的typeof和instanceof介紹
- javascript之typeof、instanceof操作符使用探討
- 談?wù)勎覍avaScript中typeof和instanceof的深入理解
- 菜鳥也能搞懂js中typeof與instanceof區(qū)別
- Javascript typeof與instanceof的區(qū)別
- 如何判別JS中的數(shù)據(jù)類型?一篇文章教你徹底弄懂typeof和instanceof
相關(guān)文章
一種Javascript解釋ajax返回的json的好方法(推薦)
下面小編就為大家?guī)硪黄环NJavascript解釋ajax返回的json的好方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06通過V8源碼看一個關(guān)于JS數(shù)組排序的詭異問題
一直在學(xué)習(xí)C++,也想閱讀點開源的C++項目,發(fā)現(xiàn)網(wǎng)上對Google V8評價不錯,于是上Github上找到了源代碼,但在學(xué)習(xí)中遇到一個js數(shù)組排序的問題,下面這篇文章主要給大家介紹了通過V8源碼說說一個關(guān)于JS數(shù)組排序的詭異問題的相關(guān)資料,需要的朋友可以參考下。2017-08-08JS正則RegExp.test()使用注意事項(不具有重復(fù)性)
這篇文章主要介紹了JS正則RegExp.test()使用注意事項,結(jié)合實例形式分析了RegExp.test()方法的功能與用法,以及針對不能重復(fù)調(diào)用的解決方法,需要的朋友可以參考下2016-12-12JavaScrip實現(xiàn)PHP print_r的數(shù)功能(三種方法)
PHP print_r的函數(shù)很好用,可以用來打印數(shù)組、對象等的結(jié)構(gòu)與數(shù)據(jù),可惜JavaScript并沒有原生提供類似的函數(shù)。不過我們可以試著自己來實現(xiàn)這個函數(shù),下面提供一些方法與思路2013-11-11如何只使用JS給靜態(tài)頁面網(wǎng)站添加站內(nèi)全局搜索功能
這篇文章主要給大家介紹了關(guān)于如何只使用JS給靜態(tài)頁面網(wǎng)站添加站內(nèi)全局搜索功能的相關(guān)資料,通過JS+XML動態(tài)加載數(shù)據(jù)并優(yōu)化部署方案,為靜態(tài)站點提供高效可維護(hù)的搜索功能實現(xiàn)方法,需要的朋友可以參考下2025-05-05