title: how backbone.js model fetch method works
body: <p>i am very confuse about using backbone.js model fetch method. See the following example<br>
  backbone router:  </p>
  
  <pre><code>profile: function(id) {
    var model = new Account({id:id});
    console.log("&lt;---------profile router--------&gt;");
    this.changeView(new ProfileView({model:model}));
    model.fetch();
  }  
  </code></pre>
  
  <p>the first step, the model account will be instantiated, the account model looks like this.</p>
  
  <pre><code>define(['models/StatusCollection'], function(StatusCollection) {
    var Account = Backbone.Model.extend({
      urlRoot: '/accounts',
  
      initialize: function() {
        this.status       = new StatusCollection();
        this.status.url   = '/accounts/' + this.id + '/status';
        this.activity     = new StatusCollection();
        this.activity.url = '/accounts/' + this.id + '/activity';
      }
    });
  
    return Account;
  });
  </code></pre>
  
  <p>urlRoot property for what is it? After model object created, the profileview will be rendered with this <strong>this.changeView(new ProfileView({model:model}));</strong>, the changeview function looks like this.  </p>
  
  <pre><code>changeView: function(view) {
    if ( null != this.currentView ) {
      this.currentView.undelegateEvents();
    }
    this.currentView = view;
    this.currentView.render();
  },
  </code></pre>
  
  <p>after render view, profile information will not display yet, but after <strong>model.fetch();</strong> statement execute, data from model will be displayed, why? I really don't know how fetch works, i try to find out, but no chance.</p>