1

this キーワードについて読むことで、このキーワードが何を指しているのかを理解しようとしました。まあ、それは役に立ちませんでした。だからこれで私を助けてください!
手動関数呼び出しとイベント リスナーへのバインディングの違いはどこですか?

var app = {
    foo: true,
    bar: function() {
        console.log("this",this.foo);
        console.log("app",app.foo);
    }
}

app.bar();
/*  this true
    app true    */

document.addEventListener("click", app.bar);
/*  this undefined
    app true    */

助けてくれてありがとう

4

4 に答える 4

0

ここでラッキーヒットがありました...モジュールパターン
で試してみました が、クロージャーはありませんでしたが、ここではうまくいくようです。誰かが閉鎖についてよく読んだ場合は、コメントしてください!

var app = (function() {
    var foo = true;

    return {
        bar: function() {
            console.log(foo);
        }
    };

})();

app.bar(); //true
document.addEventListener("click", app.bar); //true

EDIT:申し訳ありませんが、これは this キーワードとは何の関係もないと思いました。

于 2013-05-31T12:58:53.953 に答える