成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

instanceof的判斷原理

denson / 2264人閱讀

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


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

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

那我們來(lái)按照這個(gè)規(guī)則一個(gè)一個(gè)來(lái)驗(yàn)證上面的結(jié)果:
注意:每個(gè)函數(shù)都有一個(gè)prototype屬性(原型),是一個(gè)對(duì)象,每個(gè)對(duì)象都有一個(gè)__proto__(隱式原型),指向它的構(gòu)造函數(shù)的 prototype,對(duì)象沒(méi)有prototype
1、fun1 instanceof Fun
fun1.__proto__=Fun.prototype
Fun.prototype
從上可以看出,fun1和Fun最后找到了同一個(gè)引用---Fun.prototype
注意:因?yàn)閜rototype是一個(gè)對(duì)象,所以它的__proro__就是Object.prototype
2、fun1 instanceof Function
fun1.__proto__=Fun.prototype ===>Fun.prototype.__proto__={ }.__proto__=Object.prototype
Function.prototype
可以看出fun1和Fun最后沒(méi)有同一個(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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/106645.html

相關(guān)文章

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

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

    CompileYouth 評(píng)論0 收藏0
  • js判斷數(shù)據(jù)類(lèi)型

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

    bang590 評(píng)論0 收藏0
  • javascript 數(shù)據(jù)類(lèi)型判斷 (常見(jiàn)庫(kù)數(shù)據(jù)類(lèi)型判斷源碼分析)

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

    libin19890520 評(píng)論0 收藏0
  • js數(shù)據(jù)類(lèi)型和判斷數(shù)據(jù)類(lèi)型方法

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

    whidy 評(píng)論0 收藏0
  • js數(shù)據(jù)類(lèi)型和判斷數(shù)據(jù)類(lèi)型方法

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

    joyqi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<