Проблема: я определяю конструктор в JavaScript, я пробовал почти каждый шаблон, который я могу придумать / Google.По какой-то причине независимо от того, что я делаю, когда вызываю функцию-член этого объекта, ключевое слово this всегда связано с window.Я не знаю, что делать.
this
window
JsFiddle: http://jsfiddle.net/za6SN/2/
Do
setInterval(function() {ball.draw()}, 50);
Без вас будет передаваться только ссылка на функцию ball.draw, и это будет указывать на окно
Когда вы передаете ссылку на метод как ball.draw, его this устанавливается на window, потому что он потерял свой контекст.
ball.draw
Лучший способ - использовать анонимную функцию . Другой способ не рекомендуется (он вызывает eval()), поэтому я даже не буду упоминать его здесь.
eval()