关于立即执行函数
由于全局变量容易出错,所以要减少全局变量的使用,尽量使用局部变量;而 ES5 中只有函数才有局部变量。
具名函数一般也都是全局变量,所以要使用匿名函数,但是要调用匿名函数就要使其成为表达式,例如前面加
!
取反操作符操作符等方法。
使用闭包
通过闭包可以使变量不暴露,却可以在函数外部使用,也是一种减少全局变量的常用方式,例如:
1 | function person() { |
视图和控制
将不同功能的代码分成不同的独立文件,就是模块化的一种方式。
在模块化的基础上,将要操作的 DOM 元素独立为一个对象(View),将这个对象以参数形式传入到控制视图变化的函数中,再将这些控制函数独立为一个对象(Controller)的属性;这样就把操作视图的代码和视图对象分隔开了。