js原型對象,每個new出來的新對象都有獨立的原型對象__proto__

來源:互聯網
上載者:User

標籤:png   rip   不同的   bsp   賦值   測試   back   構造器   不同   

剛才看一篇博文的時候, 動手測試了一下 JavaScript的原型鏈, 原型對象,發現每個構造器(賦給了某個 prototype ) new 出來的對象都有各自獨立的原型對象 __proto__.

prototype 與 __proto__指向的都是同一個對象,一個是“類”上面的,一個是“對像”上面的。 prototype 從字面上“type”就說明了,這個代表一個“類”, 是一個類別、集合,而不是具體的。

類似於 C++語言中類與對象的關係。 而__proto__就是根據具體 的類“prototype” , 執行個體化處理的具體的某個對象, 通過prototype new不同的對象的__proto__是彼此獨立的。。

 好像錯了!!看

錯了,錯了,原來下面這種測試代碼理解錯了。 我們給 s.name 賦值的時候,並沒有去改到s.__proto__這個對象的name屬性。而是 給s對象新增了 name 屬性。其輸出 s.name的時候,

並沒有去 s.__proto__上面找 name 屬性,而是直接在 s 對象本身上面就發現了 name 屬性, 所以並不會向上在s.__proto__原型鏈上去找name 屬性。!!剛才理解錯了,還好反應過來了。

測試代碼 如下:

function Fun(){  //構造器};Fun.prototype = { name : ‘ysr‘};var s  = new Fun();s.name = ‘pxk‘;console.log(s.name); //pxkvar t = new Fun();console.log(t.name); //ysr

  

js原型對象,每個new出來的新對象都有獨立的原型對象__proto__

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.