2009-11-30 91 views
1

我需要在单个页面中创建特定类的许多实例,并且我想知道,如果我定义该类的方法的方式会影响页面的性能。不要紧,我是否这样定义方法:实例化许多JavaScript对象的最佳方式是什么?

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);

回答

3

第一个是更受欢迎的。在这种情况下,bar函数只有一个定义,并且所有Foo对象都共享它。在第二种情况下,bar函数每次都被声明,每个对象都包含它自己的版本。

1

最好使用第一种方法作为相同的bar属性由每个Foo实例共享。

相关问题