暴力分析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

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

相关文章
相关标签/搜索