种子模块
种子模块是框架设计中的核心部分,也是框架最先执行的一部分,所以要极具扩展性、稳定性及常用性。常见框架的种子模块至少具有类型拓展、数组化、类型判定、简单事件的绑定与卸载、无冲突处理、模块加载及domReady功能。
1、无冲突处理
参考jQuery源码,原理:利用临时变量将同命名变量或不同版本同框架(如jQuery版本很多)保存下来,然后使用函数处理控制权。
|
|
具体详情分析,请参看上篇jqeury中的noConflict机制;
2、类型拓展
类型拓展是一个框架必须具有的功能,也就是我们需要在我们的命名空间上拓展功能,这也就是为什么jQuery会有这么多的插件,因为jQuery的$.extend 或 $.fn.extend函数。
一个最简单的extend的实现
|
|
接下来我们分析下jQuery中的extend的实现:我这里使用最新的3.0,应该无差异
|
|
自己写的一个,造造轮子
|
|