成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

W4n9Hu1 / 1166人閱讀

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

模塊化編程

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

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

模塊化編程重要的一點就是,在一個模塊里,所有的變量都是局部變量(對整個項目來說,對這個模塊來說當(dāng)然可以是全局變量了)

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

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

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

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

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

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

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

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

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

沒有全局變量

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

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

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

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

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

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

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

MVC

MVC是一種代碼整理的思路

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

View:用來存儲表現(xiàn)層的元素,用戶看的見的頁面上的元素

Controller:用來存儲各種行為、邏輯代碼


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

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

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

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

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

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

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

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

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/98353.html

相關(guān)文章

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

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

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

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

    mylxsw 評論0 收藏0
  • Spring框架之我見(三)——IOC、AOP

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

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

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

    ZweiZhao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<