国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺談javascript中的instanceof和typeof

2019-11-20 13:05:42
字體:
供稿:網(wǎng)友

對于instanceof和typeof,以前偶爾的用到過,特別是typeof用到的相對更多一些,今日研究ext源碼,很多地方都用到了instanceof,突然覺得他們兩個(gè)有些相似但也應(yīng)該有他們區(qū)別,網(wǎng)上看了一些文章,對它們之間的關(guān)系有了一定的了解。

instanceof和typeof都能用來判斷一個(gè)變量是否為空或是什么類型的變量。
typeof用以獲取一個(gè)變量的類型,typeof一般只能返回如下幾個(gè)結(jié)果:number,boolean,string,function,object,undefined。我們可以使用typeof來獲取一個(gè)變量是否存在,如if(typeof a!="undefined"){},而不要去使用if(a)因?yàn)槿绻鸻不存在(未聲明)則會(huì)出錯(cuò),對于Array,Null等特殊對象使用typeof一律返回object,這正是typeof的局限性。

如果我們希望獲取一個(gè)對象是否是數(shù)組,或判斷某個(gè)變量是否是某個(gè)對象的實(shí)例則要選擇使用instanceof。instanceof用于判斷一個(gè)變量是否某個(gè)對象的實(shí)例,如var a=new Array();alert(a instanceof Array);會(huì)返回true,同時(shí)alert(a instanceof Object)也會(huì)返回true;這是因?yàn)锳rray是object的子類。再如:function test(){};var a=new test();alert(a instanceof test)會(huì)返回true。

談到instanceof我們要多插入一個(gè)問題,就是function的arguments,我們大家也許都認(rèn)為arguments是一個(gè)Array,但如果使用instaceof去測試會(huì)發(fā)現(xiàn)arguments不是一個(gè)Array對象,盡管看起來很像。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 清涧县| 德兴市| 六盘水市| 湘西| 邢台县| 古交市| 五河县| 洛隆县| 临澧县| 福清市| 恩平市| 桃园市| 安国市| 措美县| 洛隆县| 闵行区| 大关县| 平顺县| 大化| 蓝田县| 收藏| 宜宾市| 栾川县| 建瓯市| 宝应县| 绥江县| 龙里县| 和平县| 潜山县| 罗山县| 曲阳县| 雷州市| 永仁县| 铁岭县| 镇原县| 喀喇沁旗| 海门市| 杂多县| 新津县| 平果县| 平昌县|