编写可维护的JS 05
5.UI层的松耦合
- 松耦合定义 每个组件尽量独立,修改一个不影响其他的组件
- 将Js从css中抽离 不要使用css表达式,因为浏览器会以高频率重复计算css表达式,严重影响性能,IE9不支持表达式
- 将Css从Js中抽离 Js应只负责添加、移除类,不应该设置style。除了操作运动
- 将Js从HTML中抽离 不要写在标签里,用事件绑定,将Js语句放在外置文件中
- 将HTML从Js中抽离
- 从服务器加载 将模板放在远程服务器
- 简单的客户端模板 在HTML注释中包含模板文件,
type=text/x-my-template
的script标签 - 复杂的模板 模板引擎等 handlebars库
6.避免使用全局变量
- 不使用
var
会产生全局变量 - 不能跟全局变量重名
- 单全局变量方式
- 命名空间
Y.My
Y.Mail
- 模块
- YUI模块
- 异步定义模块 AMD define
- requireJs
- CommonJs
- 零全局变量 很少情况下有
Now or nerver .