title: Backbone.js: _.bindAll() in initialize - why is this used?
body: <p>I've been looking at some examples of backbone.js based application.  I notice that in some (such as <a href="http://andyet.net/blog/2010/oct/29/building-a-single-page-app-with-backbonejs-undersc/">this example</a> below) the underscore function <code>_.bindAll()</code> is used:</p>
  
  <pre><code> initialize: function (args) {
          _.bindAll(this, 'changeTitle');
          this.model.bind('change:title', this.changeTitle);
      },
  </code></pre>
  
  <p>whereas in others (such as the <a href="http://documentcloud.github.com/backbone/docs/todos.html">todo app</a> below) do not:</p>
  
  <pre><code>initialize: function() {
    this.model.bind('change', this.render, this);
    this.model.bind('destroy', this.remove, this);
  },
  </code></pre>
  
  <p>What is the purpose of <code>_.bindAll()</code> in this context, and is it necessary?</p>