哪個最好?設置一個變量並將其傳遞給調用,或者每次再次設置var。我想要self = this
(即Slider obj)的一致性。設置變量並傳遞給函數或重新設置變量?
編輯答案:我知道我可以使用this
但我與其他團隊成員的工作,並已同意的一致性在任何時候都引用對象時使用self
。
因此,這是更好的:
Slider = {
init: function() {
var self = this,
foo = $('.someElement');
self.bindEvent(self);
},
bindEvent: function(self) {
self.foo.on('click', self.wasClicked(self));
},
wasClicked: function(e, self) {
e.doSomething();
self.done();
}
};
或者這樣:
Slider = {
init: function() {
var self = this,
foo = $('.someElement');
self.bindEvent();
},
bindEvent: function() {
var self = this;
self.foo.on('click', self.wasClicked);
},
wasClicked: function(e) {
var self = Slider;
e.doSomething();
self.done();
}
};
在'wasClicked'中只需要'self',其他情況下使用'this'。另外,你不能在對象中調用像這樣的Slider.init()。我相信你想要一個構造函數。 – bfavaretto 2013-02-28 17:05:37
我知道我可以使用'this',但我與其他團隊成員一起工作,並且一致同意在任何時候引用對象時都使用self。此外,我的初始通話是一個錯字。 – 2013-02-28 17:07:39