簡體   English   中英

關於Mozilla開發人員網絡中定義的javascript原型說明的困惑

[英]Confusion regarding javascript prototype explanation defined in Mozilla developer network

我讀過關於JavaScript的原型,看了一些計算器問題,以及像如何,確實JavaScript的原型工作 ,我終於理解原型正常,但隨后因為我是經歷在Mozilla開發者Netork(MDN)文檔中有關原型根據本Details_of_the_Object_Model MDN

原型圖

在下面有一個音符

注意:直接分配給FunctionName.prototype會刪除其原始原型的“ constructor”屬性。 結果,(new WorkerBee).constructor產生“ Employee”(而不是預期的“ WorkerBee”)。 必須注意保留原始原型的構造函數。 例如,將父代分配給FunctionName.prototype.__proto__ 例如, WorkerBee.prototype.__proto__ = new Employee; 這樣,(new WorkerBee).constructor產生預期的“ WorkerBee”。

我似乎不明白這句話的意思

直接分配給FunctionName.prototype會刪除其原始原型的“ constructor”屬性。

這是否意味着Manager.prototype = new Employee將替換Manager.__proto__ = Function.prototypeEmployee.prototype

結果,(new WorkerBee).constructor產生“ Employee”(而不是預期的“ WorkerBee”)

這將產生雇員什么意思? 我知道我們不應該直接使用__proto__但是上面的語句指定使用FunctionName.prototype.__proto__ 在這種情況下,這是真的嗎?

有人可以舉例說明它試圖傳達什么嗎?

上的功能原型被用作用於通過這些功能生成的對象。

函數原型指向Function.prototype,因為函數本身也是對象實例。 設置它的原型不會影響它的原型,但是重新設置它的原型會影響該原型。 構造函數

您不應將Child.prototype設置為Parent的實例,而應使用Object.create。

這里解釋了什么是prototype.constructor以及更多內容: 原型繼承-編寫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM