2
我非常抱歉要求另一個匿名函數的問題,但它每當我找出它們時都會出現接縫,JavaScript會給我另一個曲線球。匿名函數包裝局部變量並返回新函數
我使用KineticJS創造了多個圓的動畫,然後他們像這樣(以下these tutorials)
for (i = 0; i < rows; i++)
{
for (j = 0; j < cols; j++)
{
index = i * cols + j;
circles [ index ] = new Kinetic.Circle({...});
...
}
}
...
for (i = 0; i < rows; i++)
{
for (j = 0; j < cols; j++)
{
index = i * cols + j;
anims [ index ] = new Kinetic.Animation({func: function (frame)
{
(function (innerCircle)
{
...
} (circles [ index ]));
},
node: layer
}
);
}
}
我的目的是創建匿名函數時傳遞的index
當前值。問題是隻有最後一張圖像被動畫,我不知道爲什麼。這裏是full jsfiddle
感謝您的解決方案,並建議 – puk
不客氣。 –
+1。在for循環中使用它們時會分解函數通常是更好的做法(由於關閉和可讀性) –