[英]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.prototype
到Employee.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.