1

buttons関数からプロパティにアクセスする必要がありますが、参照がオブジェクト自体ではなく関数を指しているenableNavため、アクセスできないという問題があります。thisenableNavbuttons

(function() {

var MyCustomObject = {

    init: function(config) {
        this.myvar = config.myvar;
        this.buttons = config.buttons;
        this.enableNav();
    },

    enableNav: function() {
       // need to use buttons here!!
    }

};

MyCustomObject.init({
    myVar: 3,
    buttons: $('button')
});
})();
4

1 に答える 1

0

thisenableNav関数への参照ポイント

いいえ、そうではありません。

ここでそれを呼び出します:

this.enableNav();

そのため、 の内部はenableNav、その行にあるthisthisになります。

(それが使用されていないと仮定するnewと、 を呼び出すとfoo.bar.baz()、の値bazが取得barされますthis)。

それで:

enableNav: function() {
   this.buttons.append(foo); // or whatever
}
于 2012-06-04T10:21:00.243 に答える