在构造函数中创建JavaScript原型

时间:2014-08-04 20:40:49

标签: javascript oop prototype

当你在构造函数中添加对象的原型时,内存会发生什么?每次制作新物体时都会重新创建吗?

例如:

function Foo(){
  Foo.prototype.bar = function() {
    console.log("bar func called");
  }
}    
var x = new Foo();
x.bar();
var y = new Foo();
y.bar();

3 个答案:

答案 0 :(得分:1)

代码的“性质”无关紧要,每次调用它时都会执行。这意味着是的,每次调用new Foo()时,都会重新分配原型的函数bar

这也意味着每个Foo对象都会获得一个新的bar方法,即使是那些已经存在的方法。

答案 1 :(得分:0)

每次调用该函数时,您放入函数的所有代码都会运行,即使所述代码分配了原型的属性。

答案 2 :(得分:0)

是的。每次实例化Foo时都会执行创建代码。