国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 宁化县| 高雄市| 青海省| 齐齐哈尔市| 罗城| 高台县| 建昌县| 巍山| 宜良县| 金门县| 安泽县| 民权县| 闵行区| 延津县| 习水县| 兴仁县| 马边| 易门县| 丰城市| 怀远县| 潮州市| 博爱县| 广灵县| 满洲里市| 汪清县| 图片| 浙江省| 昌江| 永春县| 五指山市| 磐石市| 扶沟县| 道真| 柳林县| 平和县| 深州市| 巩留县| 上思县| 新巴尔虎右旗| 枝江市| 依安县|