如何正确返回对象方法

时间:2014-02-05 13:26:02

标签: javascript

我在javascript中创建了MyObject,我需要像这样返回它的方法

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

但问题是,所有m实例变量似乎都是未定义的,我无法访问它们(即使它们是在m上定义的),对它们的操作会导致{{1 }}。如何正确执行此操作,以便在执行方法时保持实例变量设置?

1 个答案:

答案 0 :(得分:5)

这是因为this范围是html元素,而不是实例。

关闭

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

bind

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

来维持你所追求的范围。