У меня все еще возникает проблема с тем, как управлять областями в JavaScript. В этом конкретном примере у меня есть функция draw, содержащая определенные свойства и функцию, которая должна рисовать линии на основе массива.Область прототипа встроенной функции 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();
});
}
Конечно, «this.ctx» внутри функции forEach возвращает «undefined». Как я могу убедиться, что переменные Draw() передаются в функцию forEach (не делая что-то вроде ctx = this.ctx)?
+1. Не был уверен, что 'forEach' поддерживает его, но это делает: http://es5.github.com/#x15.4.4.18. –