2014-10-04 119 views
1

工作如果我做的:.push不是在構造函數中

function a(){ 
    a.list.push(this); 
} 
a.list = []; 

new a(); 

a.listnew a()被稱爲將被更新。但現在,

function Spark(ctx){ 
    console.log("created", this); 
    Spark.list.push[this]; 
} 
Spark.list = []; 
Spark.max = 100; 
Spark.createSparks = function(ctx){ 
    if(this.list.length < this.max){ 
     new Spark(ctx); 
    } 
}; 

Spark.createSparks(); 

這裏Spark.list.push是沒有任何問題的執行,但Spark.list保持爲空。這是爲什麼?

回答

5

您沒有調用該函數。

變化

Spark.list.push[this] 

Spark.list.push(this) 
+0

哇哦。我花了幾個小時檢查我的代碼的每一行,但我從來沒有意識到我輸入括號而不是括號。謝謝。 – 2014-10-04 20:25:10

+0

我們都已經做到了這一點,無後顧之憂:) – AlienWebguy 2014-10-04 20:27:38