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 的桥梁

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容