前端系统课程 - 36. MVC 之 VC

关于立即执行函数

  • 由于全局变量容易出错,所以要减少全局变量的使用,尽量使用局部变量;而 ES5 中只有函数才有局部变量。

  • 具名函数一般也都是全局变量,所以要使用匿名函数,但是要调用匿名函数就要使其成为表达式,例如前面加 ! 取反操作符操作符等方法。

使用闭包

通过闭包可以使变量不暴露,却可以在函数外部使用,也是一种减少全局变量的常用方式,例如:

1
2
3
4
5
6
7
8
9
10
function person() {
var age = 18;
return function () {
return ++age;
};
}

var setAge = person();
console.log(setAge()); // 19
console.log(setAge()); // 20

视图和控制

  • 将不同功能的代码分成不同的独立文件,就是模块化的一种方式。

  • 在模块化的基础上,将要操作的 DOM 元素独立为一个对象(View),将这个对象以参数形式传入到控制视图变化的函数中,再将这些控制函数独立为一个对象(Controller)的属性;这样就把操作视图的代码和视图对象分隔开了。