2014-02-05 4 views
2

Я создал MyObject в JavaScript, и мне нужно, чтобы вернуть его метод как этотКак вернуть метод объекта правильно

var m = new MyObject(); 
document.onclick = m.myMethod; 

Но проблема в том, все m переменные экземпляра по всей видимости, не определено, не может получить доступ их (хотя они определены на m), а операции с ними приводят к NaN. Как это сделать правильно, поэтому переменные экземпляра остаются установленными при выполнении метода?

+0

Можете ли вы указать код MyObject? – Eagle

+0

Это так просто, как вы забываете использовать ключевое слово 'new'? 'var m = new MyObject();'? – Andy

+0

'new MyObject()'? – Vinz243

ответ

5

Это потому, что область this является элементом html, а не экземпляром.

Либо укупорочное

document.onclick = function(evt) { m.myMethod(evt); } 

или bind

document.onclick = m.myMethod.bind(m); 

необходим для поддержания объема вы после этого.

Смежные вопросы