暴力分析backbone.js(4)

写完了上一节后,突然发现我一开始都(从上往下分析)构思,不合理。

  来看几张图

  

  在看看backbone的api结构。

  

  给大家看这些的原因,也是我一个分析的思路。我会先把源码里的8大块划分出来,大概的略过一遍,然后在独个独个的把小功能讲解一边。

  当然除了公开的功能,还少不了私有的功能。

  看完了这些是不是可以发挥想象力,如果让我们来写这个东西会怎么写?

 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   }

  哈哈,是不是一个大体的就出来了。

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

  我来模拟一下,先说,我没偷看代码,我也敢肯定,backbone写的和我不一样。看看是不是模拟了它的功能呢?

  

 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,来执行你要执行的方法。

  这节内容却是少了,也没有什么含量,甚至大伙早就猜到会走这条路。

 

posted @ 2015-05-04 22:13  superjs  阅读(184)  评论(0编辑  收藏  举报