我仍然无法弄清楚如何在 JavaScript 中管理范围。在这个特定的示例中,我有一个包含某些属性的绘图函数和一个需要基于数组绘制线条的函数。
function Draw (canvas)
{
this.ctx = canvas.getContext('2d');
this.street_size = 20;
}
Draw.prototype.street = function (MAP)
{
MAP.forEach(function (name)
{
this.ctx.moveTo(name.start.x,name.start.y);
this.ctx.lineTo(name.end.x,name.end.y)
this.ctx.stroke();
});
}
当然,forEach 函数内的“this.ctx”返回“undefined”。如何确保将 Draw() 的变量传递给 forEach 函数(无需执行 ctx = this.ctx 之类的操作)?