Проблема с объектом javasript
В общем такой вопрос: Есть объект в котором объявлен метод. Необходимо внутри объекта объявить событие которое запустит этот метод. Через глобальную переменную не подходит. Смотреть пример:
function Test(){ var a = 8; var b = 15; this.method = function() { alert(a+b); } //собственно вопрос window.onresize = function(){this.method();} } var a = new test(); говорят можно как то перед |
Кешируйте this в локальную переменную.
|
не совсем понял типа
window.onresize = function(){a.method();} |
Да, а строчкой ранее
var a = this;И не a, а какое-нибудь другое, не занятое имя. |
а если так?
function test(){ var a = 8; var b = 15; this.method = function() { alert(a+b); } window.onresize = this.method; } var a = new test(); |
|
Цитата:
|
Цитата:
Получается мы объявим переменную глобально. НЕ хотелось. Хочется чтоб все было внутри объекта, ведь на то оно и есть ООП. |
Цитата:
в данном коде создается замыкание, при помощи ЛОКАЛЬНОЙ переменной. это, кстати очень даже правильное решение в контексте данного языка http://javascript.ru/basic/functions#oblasti-vidimosti http://javascript.ru/basic/closure |
Часовой пояс GMT +3, время: 22:55. |