我在javascript中创建了MyObject
,我需要像这样返回它的方法
var m = new MyObject();
document.onclick = m.myMethod;
但问题是,所有m
实例变量似乎都是未定义的,我无法访问它们(即使它们是在m
上定义的),对它们的操作会导致{{1 }}。如何正确执行此操作,以便在执行方法时保持实例变量设置?
答案 0 :(得分:5)
这是因为this
范围是html元素,而不是实例。
关闭
document.onclick = function(evt) { m.myMethod(evt); }
或bind
document.onclick = m.myMethod.bind(m);
需要来维持你所追求的范围。