title: Understanding _.each on backbone collections
body: <p>Warning: I'm a backbone newbie.</p>
  
  <p>I'm iterating over all the models in my collection and rendering them. Simple enough, however, I wanted to make sure I understand well how this works. Here's what I have -</p>
  
  <h3>Model:</h3>
  
  <pre><code>File = Backbone.Model.extend({});
  </code></pre>
  
  <h3>Collection</h3>
  
  <pre><code>Folder = Backbone.Collection.extend({ model: File });
  </code></pre>
  
  <h3>ModelView</h3>
  
  <pre><code>FileView = Backbone.View.extend({
      initialize: function() {
         _.bindAll(this, 'render');
         this.render();
      },
      render: function() {
          this.template = _.template(document.getElementById("fileTemplate").innerHTML);
          this.$el.html(this.template({ fileName: this.model.get("FileName") }));
      }   
  })
  </code></pre>
  
  <h3>CollectionView</h3>
  
  <pre><code>FolderView = Backbone.View.extend({    
      initialize: function () {
          _.bindAll(this, 'render');
          this.render();
      },
      render: function () {
          _(this.collection.models).each(function(file) {
              var fileView = new FileView({ model: file});
              this.$el.append(fileView.el);            
          },this); &lt;--???
      }
  });
  </code></pre>
  
  <p>This works perfectly fine. My question is about the _.each in my FolderView. Why do I have to pass the <b><em>this</em></b> back to my each loop?
  If I don't pass <b><em>this</em></b>, it refers to my window object instead of my collection. I know it's necessary to pass it, i just don't know why.</p>