暴力分析backbone.js(4)

寫完了上一節後,忽然發現我一開始都(從上往下分析)構思,不合理。html

  來看幾張圖api

  

  在看看backbone的api結構。this

  

  給你們看這些的緣由,也是我一個分析的思路。我會先把源碼裏的8大塊劃分出來,大概的略過一遍,而後在獨個獨個的把小功能講解一邊。spa

  固然除了公開的功能,還少不了私有的功能。prototype

  看完了這些是否是能夠發揮想象力,若是讓咱們來寫這個東西會怎麼寫?code

 1   var backbone = {
 2     events : {
 3     },
 4 
 5     model : {
 6     },
 7 
 8     collection : {
 9 
10     },
11 
12     router : {
13     },
14 
15     history : {
16     },
17 
18     sync : {
19 
20     },
21 
22     view : {
23 
24     },
25 
26     utility : {
27 
28     }
29 
30   }

  哈哈,是否是一個大致的就出來了。router

  就像以前的 backbone.view.extend({});htm

  我來模擬一下,先說,我沒偷看代碼,我也敢確定,backbone寫的和我不同。看看是否是模擬了它的功能呢?blog

  

 1 window.backbone = {
 2   view : {
 3     extend : function (config) {
 4       function cc() {
 5 
 6       }
 7       cc.prototype.initialize = function () {
 8         this.initialize();
 9       };
10 
11       var cc1 = new cc();
12 
13       cc1.initialize.call(config);
14 
15     }
16   }
17 };
18 
19 window.onload = function () {
20   backbone.view.extend({
21     initialize : function () {
22       this.render();
23     },
24     render : function () {
25       alert('媽蛋');
26     }
27   });
28 }

  把它複製粘貼,而後試着運行一下,而後在backbone.view.extend({})盡情的去添加功能,你必須從新設置initialize,來執行你要執行的方法。backbone

  這節內容倒是少了,也沒有什麼含量,甚至大夥早就猜到會走這條路。

相關文章
相關標籤/搜索