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

資訊專欄INFORMATION COLUMN

關(guān)于javascript原型鏈上屬性查找的小討論

klivitamJ / 3205人閱讀

摘要:今天和前端組的小伙伴們討論了下的原型鏈,得出了一個看似很簡單的結(jié)論。對于一個對象上屬性的查找是遞歸的。給出一段代碼,相信會很容易理解原型鏈上的對象查找。從這個結(jié)果中可以很輕松看出原型鏈查找屬性的順序。

今天和前端組的小伙伴們討論了下js的原型鏈,得出了一個看似很簡單的結(jié)論。

  

對于一個對象上屬性的查找是遞歸的。

查找屬性會從自身屬性(OwnProperty)找起,如果不存在,就查看prototype中的存在不存在。

prototype是一個對象

可以從以上的三點中,看出一個遞歸關(guān)系。給出一段代碼,相信會很容易理解原型鏈上的對象查找。

var A = function () {
    this.i = 2;
}
A.prototype.i = 3;

var B = function() {
    this.i = 4;
}

B.prototype = new A();

var b = new B();

console.log(b.i); //4;
delete b.i;
console.log(b.i); // 2;
delete B.prototype.i;
console.log(b.i); //3

從這個結(jié)果中可以很輕松看出原型鏈查找屬性的順序。

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

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

相關(guān)文章

  • 【js細節(jié)剖析】通過"="操作符為對象添加新屬性時,結(jié)果會受到原型鏈上的同名屬性

    摘要:在使用的過程中,通過操作符為對象添加新屬性是很常見的操作。但是,這個操作的結(jié)果實際上會受到原型鏈上的同名屬性影響。通過它,可以做到操作符做不到的事情,比如為對象設(shè)置一個新屬性,即使它的原型鏈上已經(jīng)有一個的同名屬性。 在使用JavaScript的過程中,通過=操作符為對象添加新屬性是很常見的操作:obj.newProp = value;。但是,這個操作的結(jié)果實際上會受到原型鏈上的同名屬性...

    wemallshop 評論0 收藏0
  • 和少婦白潔一起學(xué)JavaScript

    摘要:我們已經(jīng)回答了的構(gòu)造函數(shù)和原型都是誰的問題,現(xiàn)在牽扯出來一個,我們繼續(xù)檢查的構(gòu)造函數(shù)是全局對象上屬性叫的對象的原型是個匿名函數(shù),按照關(guān)于構(gòu)造函數(shù)的約定,它應(yīng)該是構(gòu)造函數(shù)的屬性我們給這個對象起個名字,叫。 我不確定JavaScript語言是否應(yīng)該被稱為Object-Oriented,因為Object Oriented是一組語言特性、編程模式、和設(shè)計與工程方法的籠統(tǒng)稱謂,沒有一個詳盡和大家...

    DevTTL 評論0 收藏0
  • 細說 Javascript 對象篇(二) : 原型對象

    摘要:并沒有類繼承模型,而是使用原型對象進行原型式繼承。我們舉例說明原型鏈查找機制當(dāng)訪問一個對象的屬性時,會從對象本身開始往上遍歷整個原型鏈,直到找到對應(yīng)屬性為止。原始類型有以下五種型。此外,試圖查找一個不存在屬性時將會遍歷整個原型鏈。 Javascript 并沒有類繼承模型,而是使用原型對象 prototype 進行原型式繼承。 盡管人們經(jīng)常將此看做是 Javascript 的一個缺點,然...

    lansheng228 評論0 收藏0
  • new 操作符到底做了什么?

    摘要:原文相信很多才接觸前端的小伙伴甚至工作幾年的前端小伙伴對這個操作符的了解還停留在一知半解的地步,比較模糊。 原文:http://blog.xieyangogo.cn/201... 相信很多才接觸前端的小伙伴甚至工作幾年的前端小伙伴對new這個操作符的了解還停留在一知半解的地步,比較模糊。就比如前不久接觸到一個入職兩年的前端小伙伴,他告訴我new是用來創(chuàng)建對象的,無可厚非,可能很多人都...

    _ivan 評論0 收藏0
  • JavaScript面向?qū)ο缶幊毯喢鹘坛?/b>

    摘要:這樣每個實例獨享自己的屬性,并和其他同類型的實例共享方法構(gòu)造函數(shù)原型以上這種方式定義的類型,可以通過來判斷一個實例是否是類型的實際上是通過實例的原型鏈來判斷一個對象是否某個類型的實例的,具體的細節(jié)后面會詳細介紹。 JavaScript面向?qū)ο缶幊? 如何定義自定義類型 首先需要明確,JavaScript并不是傳統(tǒng)意義上的OO語言,它并沒有class的概念, 而是包含了另一套異常強大的...

    myeveryheart 評論0 收藏0

發(fā)表評論

0條評論

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