1

我需要buttons从函数访问属性,enableNav但我的问题是我不能因为this引用指向enableNav函数而不是对象本身,我该如何正确获取buttons

(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();

所以 inside enableNav,this将是this那条线上的任何值。

(因为,假设new没有被使用,当你调用foo.bar.baz()然后baz获取bar它的 vale 时this)。

所以:

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