国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

關于JS的原型鏈的理解。

vvpvvp / 2122人閱讀

摘要:的原型鏈,需要深刻的研究才能搞懂。對象都是通過函數(shù)即構造函數(shù)創(chuàng)建的。即這里的成為隱式原型。而構造函數(shù)的屬性指向自身。這個對象的構造函數(shù)的是一個對象。走到原型鏈的終結。

- JS是一個非常有魅力的語言也是一個比較煩人的語言,主要就是因為他的特殊性靈活性。

JS的原型鏈,需要深刻的研究才能搞懂。不要糾結細節(jié)吧。實在不行就按這個死背住,慢慢就理解了。總之吧就是一句話萬物皆對象

結合這個圖示仔細理解吧。在你搞懂后你會發(fā)現(xiàn)。很嗨很刺激!

下面是必須記住的點。基礎知識不用說了吧。

對象都是通過函數(shù)(即構造函數(shù))創(chuàng)建的。
函數(shù)也是一個對象,即屬性的集合,所以也可以對函數(shù)進行自定義屬性。

每個函數(shù)默認的有一個prototype屬性。
這個prototype的屬性值是一個對象,默認的只有一個construct屬性指向函數(shù)本身。

每個對象都有一個隱藏的屬性——“__proto__”,這個屬性引用了創(chuàng)建這個對象的函數(shù)的prototype。即:fn.__proto__ === Fn.prototype
這里的"__proto__"成為“隱式原型”。

對象的construct屬性指向構造函數(shù)。而構造函數(shù)的construct屬性指向自身。

回答什么是JS的原型鏈?

訪問一個對象的屬性時,先在基本屬性中查找,如果沒有,再沿著__proto__這條鏈向上找,這就是原型鏈。這個對象的__proto__等于這個對象構造方法的prototype。這個對象的構造函數(shù)的prototype是一個對象。 這個對象是被Object()創(chuàng)建出來的。(Object()是JS內(nèi)部定義好的。) 所以它的__proto__就等于Object.prototype。Object.prototype等于null。到此就是原型鏈的終結。

然后呢還有一個點。

函數(shù)可以是一個普通函數(shù)也可以作為構造函數(shù)去創(chuàng)建對象。 當這個時候構造函數(shù)就和Object()函數(shù)是一個作用:作為構造函數(shù)去生成對象。
普通構造函數(shù)和Object一樣的 他既是函數(shù)也是對象。他的__proto__指向于Function.prototype。這也是JS內(nèi)部定義好的。Function.__proto__指向Function.prototype有點雞生蛋蛋生雞的意思(Function是被自己創(chuàng)建的)。這里是一個循環(huán)引用。 Function.prototype也是一個對象,他的__proto__指向于Object.prototype。Object.prototype等于null。走到原型鏈的終結。

以上就是我對JS原型鏈的理解,有什么錯誤的地方希望大家指出。

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

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/109312.html

相關文章

  • javascript-從toString方法在判斷復雜數(shù)據(jù)類型上妙用,引申到對原型理解

    摘要:所以,當我們使用時,不能進行復雜數(shù)據(jù)類型的判斷,因為它調(diào)用的是,雖然也繼承自,但在上重寫了,而我們通過實際上是通過原型鏈調(diào)用了。 關于 toString 方法在有關js的開發(fā)中使用應該是相當廣泛的,這兩天在看jQuery的源碼,從 toString 本身了解與鞏固了不少知識,寫出來與大家一同分享。首先先上一段代碼: var arr=[1,2,3]; toString.call(arr)...

    sean 評論0 收藏0
  • 從一道題解讀JS原型

    摘要:明確重要的一點,這個連接存在于實例與構造函數(shù)的原型對象之間,而不是存在于實例與構造函數(shù)之間。相當于重新創(chuàng)建了,指向構造函數(shù)這一部分相當于是重新在原型對象中創(chuàng)建了一個屬性,同時指向構造函數(shù)。 之前對js原型和原型鏈的理解一直覺得很繞,繞來繞去的,在看了《JavaScript高級程序設計》和各種文章之后,終于對原型和原型鏈有了初步的了解,可是還是沒有很深入的了解,今次通過以前段時間遇到的一...

    harryhappy 評論0 收藏0
  • 詳解js繼承(二)

    摘要:寄生組合式繼承終于寫到最后一個繼承了,我們在之前講了種繼承方式,分別是原型鏈,借用構造函數(shù)繼承,組合繼承,原型式繼承,寄生式繼承,其中,前三種聯(lián)系比較緊密,后面兩種也比較緊密,而我們要講的最后一種,是和組合繼承還有寄生式繼承有關系的。 前言 趁周末結束之前趕緊先把坑填上。上回我們說到了原型鏈,并且留下了幾個思考題,先把答案公布一下。 在最后一個例子里,console.log(b1.c...

    evin2016 評論0 收藏0
  • JS基礎】原型對象那些事(二)

    摘要:只是構造函數(shù)上的一個屬性,它是一個指針,指向原型對象,并不表示就是原型對象。在上一個例子中,就是一個對象,這個對象可以說是原生構造函數(shù)的實例,所以也是一個對象,所以它也有屬性,不過它的指向也就是原型鏈的頂端,再往上就沒有了。 上一篇講了①原型對象是什么;②__proto__、prototype、constructor的關系;③原型對象的作用;④原型對象帶來的一些需要注意的問題; 沒理解...

    yanbingyun1990 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<