我需要在一个页面中创建特定类的许多实例,我想知道我定义该类方法的方式是否会影响页面的性能。我是否定义这样的方法是否重要:
function Foo(h, l) {
this.h = h;
this.l = l;
}
Foo.prototype.bar = function(x) {
// do stuff
}
或者这个:
function Foo(h, l) {
this.h = h;
this.l = l;
this.bar = function(x) {
// do stuff
};
}
如果我必须创建此类的许多实例(并且该类还有其他几种方法),是否提供了性能优势?或者我应该使用另一种更好的方法吗?假设我使用new Foo(h,l);
答案 0 :(得分:3)
第一个是首选。在这种情况下,bar
函数只有一个定义,所有Foo
个对象都共享它。在第二种情况下,每次都会声明bar
函数,每个对象都包含它们自己的版本。
答案 1 :(得分:1)
最好使用第一个方法,因为每个bar
实例共享相同的Foo
属性。