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

資訊專欄INFORMATION COLUMN

初學(xué)RequireJS

cheng10 / 1068人閱讀

摘要:本文以初學(xué)身份對(duì)比和來(lái)說(shuō)明前者的優(yōu)點(diǎn),若使用其它庫(kù),可以眼動(dòng)將替換為你所用的庫(kù)模塊化,實(shí)現(xiàn)某一功能的方法獨(dú)立化,使其可以復(fù)用這一高大上的名詞,按我的理解,和插件的功能一樣那為什么需要學(xué)習(xí)呢,是將定義為全局變量,在腳本的任何地方都能調(diào)用中的方

本文以初學(xué)身份對(duì)比RequireJS和jQuery來(lái)說(shuō)明前者的優(yōu)點(diǎn),若使用其它庫(kù),可以“眼動(dòng)”將jQuery替換為你所用的js庫(kù);

“模塊化”,實(shí)現(xiàn)某一功能的方法獨(dú)立化,使其可以復(fù)用;這一高大上的名詞,按我的理解,和jQurey插件的功能一樣;那為什么需要學(xué)習(xí)RequireJS呢?

jQuery,是將jQuery定義為全局變量,在腳本的任何地方都能調(diào)用jQuery中的方法;

對(duì)比于jQuery,RequireJS的優(yōu)點(diǎn)就是,可以將各依賴關(guān)系(依賴關(guān)系---js庫(kù),指你需要引用這個(gè)庫(kù)才能做其他功能)聲明,并將各個(gè)依賴關(guān)系作為函數(shù)參數(shù)處理,即可以把jQuery等js庫(kù)的作用域定義為局部(函數(shù)內(nèi)部);

RequireJS是為實(shí)現(xiàn)模塊化存在的,其核心功能有兩個(gè):定義模塊define()和調(diào)用模塊require();

定義模塊define(),建一個(gè)功能庫(kù):

//推薦一個(gè)模塊為一個(gè)多帶帶的js文件;
無(wú)依賴關(guān)系的模塊:

define({
name1:"value1",
name2:"value2"
})

無(wú)依賴關(guān)系,但需要處理一些初始化任務(wù):

define(function(){

})

有依賴關(guān)系的模塊:

define("module name",[],function(){

//第一個(gè)參數(shù)為模塊名稱,可選項(xiàng)--不建議命名;
//[]表示依賴關(guān)系的數(shù)組列表;
//function(){}回調(diào)函數(shù),當(dāng)指定模塊都加載成功后被調(diào)用;
//加載的模塊以參數(shù)形式傳入該函數(shù)中,從而在回調(diào)函數(shù)內(nèi)部就可以使用這么模塊;
//參數(shù)和模塊的數(shù)量和次序要一一對(duì)應(yīng);
//或者通過(guò)arguments[]來(lái)調(diào)用依賴;
//
//require()加載這個(gè)模塊之前會(huì)先加載依賴關(guān)系;
//模塊應(yīng)該返回一個(gè)本模塊/函數(shù) return {
// 屬性名:值,
// 方法名:function(){}
//模塊名默認(rèn)為腳本文件名;
//}

})

調(diào)用模塊require():

require([],function(){

//[]表示依賴關(guān)系的數(shù)組列表;
//function(){}回調(diào)函數(shù),當(dāng)指定模塊都加載成功后被調(diào)用;
//加載的模塊以參數(shù)形式傳入該函數(shù)中,從而在回調(diào)函數(shù)內(nèi)部就可以使用這個(gè)模塊的屬性或方法;
//參數(shù)和模塊的數(shù)量和次序要一一對(duì)應(yīng);
//或者通過(guò)arguments[]來(lái)調(diào)用依賴;

})

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

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

相關(guān)文章

  • RequireJS學(xué)習(xí)筆記

    摘要:如果有疑惑的地方,歡迎討論,我是初學(xué),希望能切磋和得到指點(diǎn)加載會(huì)阻塞頁(yè)面加載默認(rèn)異步加載文件方法一把放到頁(yè)面底部加載方法二支持定義全局相對(duì)路徑方法一自定義屬性指定網(wǎng)頁(yè)程序的主模塊文件定義整個(gè)網(wǎng)頁(yè)代碼的入口文件的相對(duì)位置,以后此文件 如果有疑惑的地方,歡迎討論,我是初學(xué),希望能切磋和得到指點(diǎn); js加載會(huì)阻塞頁(yè)面加載: //requirejs默認(rèn)異步加載js文件; 方法一...

    hersion 評(píng)論0 收藏0
  • 前端資源系列(4)-前端學(xué)習(xí)資源分享&前端面試資源匯總

    摘要:特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒(méi)想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯(cuò)誤的地方,還請(qǐng)斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會(huì)及時(shí)更新,平時(shí)業(yè)務(wù)工作時(shí)也會(huì)不定期更...

    princekin 評(píng)論0 收藏0
  • jQuery Boilerplate——流行的jQuery插件開(kāi)發(fā)模板

    摘要:這里也提供了幾種不同模式的組件開(kāi)發(fā)方式,你可以選擇一個(gè)適合你的使用輕量級(jí)基礎(chǔ)模式為初學(xué)者提供的一個(gè)簡(jiǎn)單通用的基礎(chǔ)模板,包括基礎(chǔ)的默認(rèn)對(duì)象簡(jiǎn)單的構(gòu)造函數(shù)默認(rèn)參數(shù)和傳遞參數(shù)的合并以及防止對(duì)象多次實(shí)例化的構(gòu)造函數(shù)的簡(jiǎn)單封裝。 在初次進(jìn)行jquery插件開(kāi)發(fā)時(shí),我們往往無(wú)從下手,當(dāng)然我們可以按照jquery官方提供的格式進(jìn)行簡(jiǎn)單的插件開(kāi)發(fā),但是很多時(shí)候往往不盡完美,一不小心,就造出一個(gè)很...

    ztyzz 評(píng)論0 收藏0
  • RequireJS:一款優(yōu)秀的AMD模塊加載器

    摘要:概述是一款遵循規(guī)范協(xié)議的模塊加載器,不但能在瀏覽器端充分利用,同樣能在其他的運(yùn)行時(shí)環(huán)境,比如和。使用像這樣的模塊加載器能提高代碼的質(zhì)量和開(kāi)發(fā)速度。一般放在頁(yè)面的入口出,用來(lái)加載其他的模塊。 RequireJS概述 RequireJS是一款遵循AMD規(guī)范協(xié)議的JavaScript模塊加載器, 不但能在瀏覽器端充分利用,同樣能在其他的JavaScript運(yùn)行時(shí)環(huán)境, 比如Rhino和No...

    syoya 評(píng)論0 收藏0
  • seajs和requirejs的那些事兒

    摘要:遵循的是異步模塊定義規(guī)范,遵循的是通用模塊定義規(guī)范。規(guī)范的不同,導(dǎo)致了兩者的不同。在嘗試讓第三方類庫(kù)修改自身來(lái)支持,目前只有少數(shù)社區(qū)采納。是沒(méi)有明顯的,是明顯沒(méi)有。無(wú)這方面的支持。 發(fā)布之后發(fā)現(xiàn)存在一個(gè)顯示的問(wèn)題,大家可以移步到我的簡(jiǎn)書(shū)參考,謝謝大家?。?!我的簡(jiǎn)書(shū)《seajs和requirejs技術(shù)指導(dǎo)文檔》 昨天到今天,老衲翻閱數(shù)十篇技術(shù)文檔,為了搞明白seajs(CMD)和 req...

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

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

0條評(píng)論

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