之前也有封装过简单的Javascript组件,但是因为没有遵循和参考过好的编码原则,封装的方式有诸多不妥。最近参考了几个框架的源代码解析,加上自己的理解,总结成文供以后参考。
笔者认为,所谓类库(或称框架)通常就是一个闭包,这个闭包可以访问外部宿主函数中定义的一些对外不可见的方法和变量,而对外提供的方法则放在类库的原型prototype中。关于闭包的概念,详见笔者的《深入理解JavaScript闭包》。类库对外提供一个初始化的入口,用于构造实例对象,此时宿主函数就是实例的作用域。由于类库的内部实现对外界是透明的ÿ