成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

instanceof的判斷原理

denson / 2216人閱讀

摘要:自定義一個(gè)構(gòu)造函數(shù)利用上面的構(gòu)造函數(shù)構(gòu)造一個(gè)實(shí)例運(yùn)算符的第一個(gè)變量是一個(gè)對象,暫時(shí)稱為第二個(gè)變量一般是一個(gè)函數(shù),暫時(shí)稱為。

Instanceof運(yùn)算符的第一個(gè)變量是一個(gè)對象,暫時(shí)稱為A;第二個(gè)變量一般是一個(gè)函數(shù),暫時(shí)稱為B。

Instanceof的判斷規(guī)則是:沿著A的__proto__這條線來找,同時(shí)沿著B的prototype這條線來找,如果兩條 線能找到同一個(gè)引用,即同一個(gè)對象,那么就返回true。如果找到終點(diǎn)還未重合,則返回false。

那我們來按照這個(gè)規(guī)則一個(gè)一個(gè)來驗(yàn)證上面的結(jié)果:
注意:每個(gè)函數(shù)都有一個(gè)prototype屬性(原型),是一個(gè)對象,每個(gè)對象都有一個(gè)__proto__(隱式原型),指向它的構(gòu)造函數(shù)的 prototype,對象沒有prototype
1、fun1 instanceof Fun
fun1.__proto__=Fun.prototype
Fun.prototype
從上可以看出,fun1和Fun最后找到了同一個(gè)引用---Fun.prototype
注意:因?yàn)閜rototype是一個(gè)對象,所以它的__proro__就是Object.prototype
2、fun1 instanceof Function
fun1.__proto__=Fun.prototype ===>Fun.prototype.__proto__={ }.__proto__=Object.prototype
Function.prototype
可以看出fun1和Fun最后沒有同一個(gè)引用
注意:Function.prototype還是指向Function.prototype
3、fun1 instanceof Object
fun1.__proto__=Fun.prototype ==> Fun.prototype.__proto__={ }.__proto__=Object.prototype
Object.prototype
從上可以看出,fun1和Object最后找到了同一個(gè)引用---Object.prototype

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/106645.html

相關(guān)文章

  • "instanceof 原理是什么"?大聲告訴面試官,我知道!

    摘要:一是如何工作的在上是這樣描述的運(yùn)算符用于測試構(gòu)造函數(shù)的屬性是否出現(xiàn)在對象原型鏈中的任何位置換句話說,如果,那么必須是一個(gè)對象,而必須是一個(gè)合法的函數(shù)。下面我們舉一個(gè)例子一步步來說明第一步每一個(gè)構(gòu)造函數(shù)都有一個(gè)屬性。 在 JavaScript 中,我們通常用 typeof 判斷類型,但是在判斷引用類型的值時(shí),常常會遇到一個(gè)問題:無論引用的是什么類型的對象,都會返回 object(當(dāng)然還有...

    CompileYouth 評論0 收藏0
  • js判斷數(shù)據(jù)類型

    摘要:一中數(shù)據(jù)類型基本數(shù)據(jù)類型復(fù)雜數(shù)據(jù)類型二判斷數(shù)據(jù)類型下面將對如下數(shù)據(jù)進(jìn)行判斷它們的類型使用由結(jié)果可知可以測試出及,而對于及數(shù)組對象,均檢測出為,不能進(jìn)一步判斷它們的類型。但是它不能檢測非原生構(gòu)造函數(shù)的構(gòu)造函數(shù)名。 一、JS中數(shù)據(jù)類型 基本數(shù)據(jù)類型(Undefined、Null、Boolean、Number、String) 復(fù)雜數(shù)據(jù)類型 (Object) 二、判斷數(shù)據(jù)類型 下面將對如下...

    bang590 評論0 收藏0
  • javascript 數(shù)據(jù)類型判斷 (常見庫數(shù)據(jù)類型判斷源碼分析)

    摘要:對象類型常見的有,,,正則新增自己提供的樂行判斷如果不對對象做嚴(yán)格區(qū)分使用。的實(shí)現(xiàn)使用了原型繼承的表示左表達(dá)式,表示右表達(dá)式,它是用是否等于來判斷對象的類型的。常見框架和庫的實(shí)數(shù)據(jù)類型判斷測試這里將的實(shí)現(xiàn)原理抽取出來,用原生實(shí)現(xiàn)。 JavaScript一共有六種數(shù)據(jù)類型,分為原始類型(又名基本類型)和對象類型(又名引用類型) 原始類型有五種,分別為number,string,boole...

    libin19890520 評論0 收藏0
  • js數(shù)據(jù)類型和判斷數(shù)據(jù)類型方法

    摘要:基本數(shù)據(jù)類型引用類型判斷數(shù)據(jù)類型的方法判斷中的數(shù)據(jù)類型有一下幾種方法接下來主要比較一下這幾種方法的異同。通常情況下用判斷就可以了,遇到預(yù)知類型的情況可以選用或方法實(shí)在沒轍就使用方法。 基本數(shù)據(jù)類型:String、Number、Boolean、Symbol、undefined、Null引用類型:Object Array Function 判斷數(shù)據(jù)類型的方法: 判斷js中的數(shù)據(jù)類型有一...

    whidy 評論0 收藏0
  • js數(shù)據(jù)類型和判斷數(shù)據(jù)類型方法

    摘要:基本數(shù)據(jù)類型引用類型判斷數(shù)據(jù)類型的方法判斷中的數(shù)據(jù)類型有一下幾種方法接下來主要比較一下這幾種方法的異同。通常情況下用判斷就可以了,遇到預(yù)知類型的情況可以選用或方法實(shí)在沒轍就使用方法。 基本數(shù)據(jù)類型:String、Number、Boolean、Symbol、undefined、Null引用類型:Object Array Function 判斷數(shù)據(jù)類型的方法: 判斷js中的數(shù)據(jù)類型有一...

    joyqi 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<