[英]JavaScript prototype creation in constructor
當您在構造函數中添加到對象的原型時,內存中會發生什么? 每次創建新對象時都會重新創建它嗎?
例如:
function Foo(){
Foo.prototype.bar = function() {
console.log("bar func called");
}
}
var x = new Foo();
x.bar();
var y = new Foo();
y.bar();
代碼的“性質”無關緊要,每次調用時都會執行。 這意味着,是的,每次調用new Foo()
,都會重新分配原型的功能bar
。
這也意味着每個Foo
對象都會獲得一個新的bar
方法,即使那些已經存在的對象也是如此。
每次調用該函數時,放入該函數中的所有代碼都會運行,即使該代碼分配了原型的屬性也是如此。
是的,它確實。 每次實例化Foo時都會執行創建代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.