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循环中使用它们时会分解函数通常是更好的做法(由于关闭和可读性) –