亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

模塊化編程、MVC、面向?qū)ο缶幊?

W4n9Hu1 / 1214人閱讀

摘要:模塊化編程所謂模塊化編程,就是將代碼模塊化,每一塊代碼都只進(jìn)行一種操作,可以這樣理解吧。將所有的重復(fù)的代碼都提取出來(lái)形成對(duì)象構(gòu)造函數(shù)等,在需要使用的時(shí)候,調(diào)用或者使用等進(jìn)行操作。

模塊化編程

所謂模塊化編程,就是將代碼模塊化,每一塊代碼都只進(jìn)行一種操作,可以這樣理解吧。

全局變量和局部變量的轉(zhuǎn)換

模塊化編程重要的一點(diǎn)就是,在一個(gè)模塊里,所有的變量都是局部變量(對(duì)整個(gè)項(xiàng)目來(lái)說(shuō),對(duì)這個(gè)模塊來(lái)說(shuō)當(dāng)然可以是全局變量了)

模塊化編程如何將全局變量轉(zhuǎn)變?yōu)榫植孔兞浚?/em>

把所有代碼都放在一個(gè)函數(shù)里面

再執(zhí)行這個(gè)函數(shù)

這樣除了這個(gè)函數(shù)是全局變量,其它都變成限制在這個(gè)函數(shù)里的局部變量了

我連那個(gè)函數(shù)這個(gè)全局變量都不想要了:

設(shè)置為匿名函數(shù)

立即執(zhí)行,直接call()

function(){
    //your code
}.call()

函數(shù)立即執(zhí)行的優(yōu)點(diǎn):

沒(méi)有全局變量

而只有用函數(shù)才能有局部變量

不好意思,chrome不支持,的解決辦法:

前面加!表示這是個(gè)立即執(zhí)行函數(shù)。不過(guò)會(huì)對(duì)這個(gè)函數(shù)的返回值取反,不過(guò)立即執(zhí)行了就沒(méi)了,不關(guān)心它的返回值

!function(){
    //your code
}.call()

()包起來(lái)。問(wèn)題是如果前面有代碼,比如xxx(function(){}).call(),這就等于調(diào)用xxx了,等價(jià)于xxx().call()。。。function(){}只是傳入的參數(shù)

(function(){
    //your code
}).call()

把函數(shù)名設(shè)置成隨機(jī)數(shù)。機(jī)智(??????)??~~

MVC

MVC是一種代碼整理的思路

Model:用來(lái)存儲(chǔ)數(shù)據(jù)相關(guān)的操作

View:用來(lái)存儲(chǔ)表現(xiàn)層的元素,用戶看的見(jiàn)的頁(yè)面上的元素

Controller:用來(lái)存儲(chǔ)各種行為、邏輯代碼


上面這張圖可以很好的展現(xiàn)MVC之間的互動(dòng)關(guān)系。

首先,用戶只能接觸到V上的東西,就是頁(yè)面所展現(xiàn)的內(nèi)容

當(dāng)用戶和V開(kāi)始交互了,一直在監(jiān)聽(tīng)VC會(huì)知道哪一個(gè)元素被動(dòng)了,就會(huì)運(yùn)行相應(yīng)的代碼

通常情況下,C會(huì)調(diào)用M,這個(gè)時(shí)候,M就會(huì)向服務(wù)器server發(fā)送請(qǐng)求要數(shù)據(jù),server自然會(huì)返回一個(gè)響應(yīng)

獲得響應(yīng)的M將數(shù)據(jù)返回給C,C再將數(shù)據(jù)更新在V上,就是再頁(yè)面上更新

面向?qū)ο缶幊?/b>

愚見(jiàn):深度模塊化。將所有的重復(fù)的代碼都提取出來(lái)形成對(duì)象、構(gòu)造函數(shù)等,在需要使用的時(shí)候,調(diào)用或者使用new等進(jìn)行操作。

this的幾個(gè)小例子
button.onclick=function(){
    console.log(this);
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/98353.html

相關(guān)文章

  • 大前端2018現(xiàn)在上車還還得及么

    摘要:面向?qū)ο笕筇卣骼^承性多態(tài)性封裝性接口。第五階段封裝一個(gè)屬于自己的框架框架封裝基礎(chǔ)事件流冒泡捕獲事件對(duì)象事件框架選擇框架。核心模塊和對(duì)象全局對(duì)象,,,事件驅(qū)動(dòng),事件發(fā)射器加密解密,路徑操作,序列化和反序列化文件流操作服務(wù)端與客戶端。 第一階段: HTML+CSS:HTML進(jìn)階、CSS進(jìn)階、div+css布局、HTML+css整站開(kāi)發(fā)、 JavaScript基礎(chǔ):Js基礎(chǔ)教程、js內(nèi)置對(duì)...

    stormgens 評(píng)論0 收藏0
  • 大前端2018現(xiàn)在上車還還得及么

    摘要:面向?qū)ο笕筇卣骼^承性多態(tài)性封裝性接口。第五階段封裝一個(gè)屬于自己的框架框架封裝基礎(chǔ)事件流冒泡捕獲事件對(duì)象事件框架選擇框架。核心模塊和對(duì)象全局對(duì)象,,,事件驅(qū)動(dòng),事件發(fā)射器加密解密,路徑操作,序列化和反序列化文件流操作服務(wù)端與客戶端。 第一階段: HTML+CSS:HTML進(jìn)階、CSS進(jìn)階、div+css布局、HTML+css整站開(kāi)發(fā)、 JavaScript基礎(chǔ):Js基礎(chǔ)教程、js內(nèi)置對(duì)...

    mylxsw 評(píng)論0 收藏0
  • Spring框架之我見(jiàn)(三)——IOC、AOP

    摘要:模塊負(fù)責(zé)的所有面向切面的功能。總結(jié)的統(tǒng)一管理,降低了對(duì)象之間的耦合對(duì)主流的框架提供了很好的集成支持提供眾多組件,事務(wù)管理,等具有高度可開(kāi)放性,開(kāi)發(fā)者可以自由選擇部分或全部主要使用工廠模式和代理模式。 聊完了Spring框架中最重要的兩種設(shè)計(jì)模式,我們來(lái)看一下Spring框架的模塊和結(jié)構(gòu)圖。 Spring框架的結(jié)構(gòu) 下圖是Spring官方給出的Spring框架的結(jié)構(gòu)圖。 showImg(...

    khs1994 評(píng)論0 收藏0
  • SSM框架網(wǎng)站后臺(tái)搭建(一)

    摘要:傳統(tǒng)的代碼中,在類中調(diào)用其他對(duì)象,都是自己出來(lái)一個(gè)對(duì)象,然后調(diào)用,這樣代碼的耦合度就比較高。日志對(duì)象和主程序的耦合度降到最低,即使更改日志對(duì)象的操作,主程序不受影響。 SSM框架網(wǎng)站后臺(tái)搭建(一) 1.所用技術(shù)簡(jiǎn)單介紹 1.SSM中的S:Spring Spring在百度詞條上的解釋是: Spring是一個(gè)開(kāi)放源代碼的設(shè)計(jì)層面框架,他解決的是業(yè)務(wù)邏輯層和其他各層的松耦合問(wèn)題,因此它將面向...

    ZweiZhao 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<