一、前言(演化思想)
- 全局变量(属性、方法)
- 同名变量名冲突(值会被后一个覆盖)
- 对象、变量之间的关系不清晰
- 文件顺序的依赖
- 命名空间
- 理论上解决了命名冲突的问题,但是对象的属性全部向外暴露,不安全
- 划分私有命名空间
- 解决了命名冲突的问题
- 解决了属性向外暴露,容易被修改、不安全的问题
- **
项目开发中,我们负责将各种功能封装到对象的属性中,匿名自执行函数,避免同名函数,在自执行函数执行的时候,我们还可以做一些init的操作
** - 扩展与维护(为了增加程序的健壮性)
- 在注入的时候做了判断
(window.cal ||{})
- 以参数注入,防止没有传参,带来的undefined.的异常
- 依赖注入的思想:通过由外部传入对象,再给对象添加功能以后返回
- 对于维护:坚持开闭原则(对添加开发、对修改封闭)
网友评论