MVC

MVC:Model View Controller

MVC只是一种组织代码的形式或思想

把写在html里的js代码按功能不同,用文件分类,文件名为功能简要描述,即为模块化。例:

模块化

立即执行函数的使用     !function( ) { 代码 }.call( )

在ES5中,只有函数有局部变量,当我们不想要全局变量,只使用局部变量时,声明一个function xxx,然后xxx.call( ),这时,xxx是全局函数(变量),在去掉一个全局变量的同时又引入一个全局变量,没有意义。所以我们使用上面的立即执行函数    !function( ) { 代码 }.call( )。

作用:隔离作用域

(注:用花括号 { 代码 }里面的var变量会变量提升,没用;function( ) { 代码 }.call( )会报错。这样!function( ) { 代码 }.call( )使用时返回值会取反,在不用返回值时推荐这种写法)

模块化时,一般用局部变量

闭包的使用    

立即执行函数使得 (person)对象无法被外部访问,闭包使得匿名函数可以操作(person),window.xxx 保存了匿名函数的地址,任何地方都可以使用 window.xxx。所以任何地方都可以使用 window.xxx 操作(person),但是不能直接访问(person)。

用途:对数据隐藏细节,访问控制

(注:一般和立即执行函数一起使用,否则无意义)


V:view,指的就是HTML(用户看得见的)

控制HTML

M:model,操作数据部分。

数据交互

C:controller,业务逻辑部分,担任 V 和 M 的桥梁

你可能感兴趣的:(MVC)