通过"这个"在集合.each()方法中的括号之后

时间:2014-03-08 04:04:46

标签: javascript jquery backbone.js

所以我认为传递this是为了能够保持对this的正确引用,这应该是对View的。我不确定。这是代码。

SomeView = Backbone.View.extend({

    getView: function(){
        return this.modelView;
    },
    this.collection.each(function(item){
        var ViewType = this.getModelView(item);
    }, this);
 });

那么,逗号之后的最后一个是什么?必须要保持对正确的参考,但我找不到能够很好地描述它是什么以及它是如何工作的东西。谢谢你的帮助。

1 个答案:

答案 0 :(得分:-1)

“this”的上下文在javascript中是动态的。这意味着“这个”意味着当你在每个循环中时,它会变得不同。围绕这个问题的方法

SomeView = Backbone.View.extend({
    var self = this;
    getView: function(){
        return this.modelView;
   },
    this.collection.each(function(item){
        var ViewType = self.getModelView(item);
    }, this);
 });

您可能需要将var self = this置于其他位置,具体取决于函数的范围