我正在閱讀一個很棒的article在this
在JavaScript中。作者說,下面的代碼是壞:混淆 - 綁定「this」&關閉 - JavaScript
Cart = {
items: [1,4,2],
onClick: function() {
// Do something with this.items.
}
}
$("#mybutton").click(Cart.onClick);
他說,click
事件並不瞭解Cart
對象調用的onClick時,因此this.items
不會是[1,4,2]
陣列,我希望它是。
作者繼續說,這段代碼創建一個閉包並修復它,但我不明白以下代碼如何修復該問題。
$("#mybutton").click(function() { Cart.onClick() });
1)在什麼情況下(如果不是Cart
)做this
事情我們是在如果我們使用的第一個例子。
2)爲什麼第二個例子解決了這個問題?
@JonathanLonowski:爲什麼不做出答案? :) –
我推薦閱讀以下資源:https://github.com/getify/You-Dont-Know-JS/blob/master/this%20&%20object%20prototypes/ch1.md,https:// developer .mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this。當你理解這個'',你會明白這些例子。 –