2009-11-30 177 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實例共享。

相關問題