可能重复:
Event handlers inside a Javascript loop - need a closure?
我是kineticjs的新学员。我遇到了一些复杂的javascript闭包问题,而我使用kinetic.shape绘制一条连续的行,如
for(var i = 0; i < 4; i++)
{
var y_position = data[i];
context.lineTo(i*x_position, y_position);
}
在我的情况下这是太多层,我已经多次更改了我的代码,但仍然无法达到我预期的结果。有人可以帮助我吗?
for(var i = 0; i < 4; i++){
var y_position = data[i];
//document.write("<br/>"+y_position); (it print 0 1 2 3)
var line = new Kinetic.Shape({
drawFunc: function() {
var context = this.getContext();
context.lineTo(i*x_position, y_position);
this.stroke(context);
//document.write("<br/>"+y_position); (it print 3 3 3 3)
},
stroke: lineColor,
strokeWidth: 1
});
layer.add(line);
}