私はJavaScriptでarticleをthis
に読んでいます。著者は、次のコードが悪いと言っている:混乱 - "this"&closures - バインディング
Cart = {
items: [1,4,2],
onClick: function() {
// Do something with this.items.
}
}
$("#mybutton").click(Cart.onClick);
彼はのonClickを呼び出すときclick
イベントはCart
オブジェクトについて知らないのでthis.items
が、私はそれがあることを期待し[1,4,2]
配列ではないだろうと述べています。
このコードではクロージャを作成して修正していますが、次のコードが問題をどのように修正するのか分かりません。どのような文脈では
$("#mybutton").click(function() { Cart.onClick() });
1)(そうでない場合はCart
)我々は最初の例を使用している場合にいるthis
ことを行います。
2)2番目の例で問題が解決するのはなぜですか?
@JonathanLonowski:なぜそれは答えにならないのですか? :) –
私は以下のソースを読むことをお勧めします:https://github.com/getify/You-Dont-Know-JS/blob/master/this%20&%20object%20prototypes/ch1.md、https:// developer .mozilla.org/ja-jp/docs/Web/JavaScript/Reference/Operators/this。あなたが「これ」を理解すると、あなたはその事例を理解するでしょう。 –