看看this jsFiddle瞭解JavaScript本作用域用一個簡單的骨幹例如
守則還列出如下:
window.MyView = Backbone.View.extend({
ticks: 0,
initialize: function() {
//window.setInterval(this.onTimerTick, 1000); // arghhh.. can't understand the 'this' scoping
window.setInterval(this.onTimerTick2, 1000); // Works great with globals
},
render: function() {
this.$el.text(this.ticks);
},
onTimerTick: function() { // Trouble with this
this.ticks++;
this.render();
},
onTimerTick2: function() { // Using globals
window.ticks2++;
$('#count').text(window.ticks2);
}
});
window.My = new MyView({ el: $("#count") });
window.ticks2 = 0;
看代碼,你看我想用onTimerTick功能,但因爲我無法弄清楚如何從窗口 - 這到我 - 這,我必須使用onTimerTick2中看到的方法。 (通常我避開了那個=這一點,但在這種情況下,它是不夠的)
感謝任何attemt讓我明白這個(!)
感謝
Larsi
不是我!我很高興所有的建議:-)感謝您提供一個很好的答案 – Larsi
從@MichalB的一個是我,因爲它看起來很錯誤 – ThiefMaster