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

資訊專欄INFORMATION COLUMN

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

klivitamJ / 3193人閱讀

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

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

  

對(duì)于一個(gè)對(duì)象上屬性的查找是遞歸的。

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

prototype是一個(gè)對(duì)象

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

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

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

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

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

相關(guān)文章

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

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

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

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

    DevTTL 評(píng)論0 收藏0
  • 細(xì)說(shuō) Javascript 對(duì)象篇(二) : 原型對(duì)象

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

    lansheng228 評(píng)論0 收藏0
  • new 操作符到底做了什么?

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

    _ivan 評(píng)論0 收藏0
  • JavaScript面向?qū)ο缶幊毯?jiǎn)明教程

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

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

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

0條評(píng)論

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