我正在按照本教程学习backbone.js ,但是在理解第一个示例时遇到了问题:
(function($){
var ListView = Backbone.View.extend({
...
initialize: function(){
_.bindAll(this, 'render'); // fixes loss of context for 'this' within methods
this.render(); // not all views are self-rendering. This one is.
},
...
});
...
})(jQuery);
Q1:为什么要使用(function($){})(jQuery)
; 而不是完美的工作(function(){})();
?
Q2:_.bindAll(this, 'render')
做什么的?它如何修复方法中“this”的上下文丢失?