框架结构说明
在编写框架的时候,为了防止变量污染,尽量使用沙箱模式 封装框架
- 在沙箱内部,如果经常使用全局变量或全局对象的话,最好的做法就是将它们当做实参传入沙箱内。
核心函数为moyas,相当于jQuery。最终要暴露给用户使用的
实现moyas函数,使用的是 工厂模式 来 创建对象。好处:用户 new 或 不 new 都可以得到正确的对象
init构造函数 的 位置
如果放在沙箱内部,用户是无法修改或重写的。所以要容纳更改用户,尽量将构造函数暴露给用户
可以把构造函数放在moyas函数上,也可以放在moyas函数原型上。
处于jQuery之父,在写简单继承模式时,将构造函数放在其原型上。那么在编写框架时,即延续下来了
init创建出来的对象,最终继承自moyas.prototype。所以可以将init对象称为 moyas对象。
由于暴露给用户 的 是 moyas 和 其原型。所以在扩展成员时,只能在这两个对象上扩展。
而在函数对象上扩展的成员 为 静态成员。可以直接通过函数名字来访问。但是,在原型上的成员,
必须创建实例来访问。因此为了实现init对象可以访问 moyas原型上的成员,就基于原型来实现继承。
|
|