对于Firefox扩展,我想做到以下几点:传递一个绑定的对象方法在JavaScript
- 设置有两个方法和字段/属性/属性
- 其中一个方法的对象必须能够调用其他方法并访问属性
- 我想将该方法注册为事件侦听器。
现在,我把它设置就像一个类:
var Obj = {
field: null,
a: function() { }
b: function() {
Obj.field = 'x';
Obj.a();
}
}
window.addEventListener('mouseup', Obj.b, false);
但现在看来似乎应该是可能有国防部没有提及“从外面”的对象(例如,通过使用Obj
),但只改用this
。然而,我无法弄清楚如何让这个工作正常,将一个简单的函数引用传递给addEventListener()
和(最好)只使用一个名字来污染命名空间。那可能吗?我尝试了谷歌搜索,发现http://ejohn.org/blog/simple-class-instantiation/,但这似乎并没有导致符合我干净设置标准的事情。
JavaScript中'this'的值非常动态。它是一个*调用上下文*,这意味着它通常在函数被调用时设置,并且基于* how *的不同而被调用。您应该阅读关于“this”设置的各种方法的教程。有些是隐含的,有些是明确的。 – 2012-04-21 17:08:17