MVC:Model View Controller
MVC只是一種組織代碼的形式或思想

把寫在html里的js代碼按功能不同,用文件分類,文件名為功能簡要描述,即為模塊化。例:

立即執(zhí)行函數(shù)的使用? ? ?!function( ) { 代碼 }.call( )
在ES5中,只有函數(shù)有局部變量,當(dāng)我們不想要全局變量,只使用局部變量時(shí),聲明一個(gè)function xxx,然后xxx.call( ),這時(shí),xxx是全局函數(shù)(變量),在去掉一個(gè)全局變量的同時(shí)又引入一個(gè)全局變量,沒有意義。所以我們使用上面的立即執(zhí)行函數(shù)????!function( ) { 代碼 }.call( )。
作用:隔離作用域
(注:用花括號(hào) { 代碼 }里面的var變量會(huì)變量提升,沒用;function( ) { 代碼 }.call( )會(huì)報(bào)錯(cuò)。這樣!function( ) { 代碼 }.call( )使用時(shí)返回值會(huì)取反,在不用返回值時(shí)推薦這種寫法)

閉包的使用????
立即執(zhí)行函數(shù)使得 (person)對(duì)象無法被外部訪問,閉包使得匿名函數(shù)可以操作(person),window.xxx 保存了匿名函數(shù)的地址,任何地方都可以使用 window.xxx。所以任何地方都可以使用 window.xxx 操作(person),但是不能直接訪問(person)。
用途:對(duì)數(shù)據(jù)隱藏細(xì)節(jié),訪問控制
(注:一般和立即執(zhí)行函數(shù)一起使用,否則無意義)

V:view,指的就是HTML(用戶看得見的)

M:model,操作數(shù)據(jù)部分。

C:controller,業(yè)務(wù)邏輯部分,擔(dān)任 V 和 M 的橋梁
