当你在构造函数中添加对象的原型时,内存会发生什么?每次制作新物体时都会重新创建吗?
例如:
function Foo(){
Foo.prototype.bar = function() {
console.log("bar func called");
}
}
var x = new Foo();
x.bar();
var y = new Foo();
y.bar();
答案 0 :(得分:1)
代码的“性质”无关紧要,每次调用它时都会执行。这意味着是的,每次调用new Foo()
时,都会重新分配原型的函数bar
。
这也意味着每个Foo
对象都会获得一个新的bar
方法,即使是那些已经存在的方法。
答案 1 :(得分:0)
每次调用该函数时,您放入函数的所有代码都会运行,即使所述代码分配了原型的属性。
答案 2 :(得分:0)
是的。每次实例化Foo时都会执行创建代码。