對於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