当您在构造函数中添加对象的原型(prototype)时,内存中会发生什么?每次创建新对象时它都会重新创建吗?
例如:
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()
时,原型(prototype)的函数 bar
都会被重新分配。
这也意味着每个 Foo
对象都会获得一个新的 bar
方法,即使是那些已经存在的方法。
关于在构造函数中创建 JavaScript 原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25127161/