日韩在线不卡一区二区三区四区五区,欧美视频一区二区三,欧美视频中文字幕一区二区,高端 精品 国产 探花,亚欧无吗一二三四五六区
RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
初學(xué)者接觸web前端需要注意什么

本篇內(nèi)容主要講解“初學(xué)者接觸web前端需要注意什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“初學(xué)者接觸web前端需要注意什么”吧!

創(chuàng)新互聯(lián)是專業(yè)的猇亭網(wǎng)站建設(shè)公司,猇亭接單;提供網(wǎng)站制作、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行猇亭網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

模塊化需要實(shí)現(xiàn)的功能

  1. 解決命名沖突。當(dāng)代碼達(dá)到一定規(guī)模,功能很多的時(shí),命名沖突就會出現(xiàn),模塊化可以很好的解決命名沖突的問題。

2.實(shí)現(xiàn)依賴管理。當(dāng)一個(gè)頁面要加載多個(gè)JS并且他們之際有些還有依賴關(guān)系,這時(shí)候就需要慎重仔細(xì)的排列這些JS的順序,以保證每個(gè)組件都能正常運(yùn)行,而模塊化之后就不用為此多費(fèi)心思。

3.提高復(fù)用性和代碼可讀性。一個(gè)功能為一個(gè)模塊,每個(gè)模塊相互獨(dú)立,互不影響,代碼組件封裝可以重復(fù)利用,去除這個(gè)模塊不影響其它的。

JavaScript模塊化發(fā)展

閉包與命名空間

這是最容易想到的也是最簡便的解決方式,早在模塊化概念提出之前很多人就已經(jīng)使用閉包的方式來解決變量重名和污染問題。這樣每個(gè)JS文件都是使用IIFE包裹的,各個(gè)JS文件分別在不同的詞法作用域中,相互隔離,最后通過閉包的方式暴露變量。每個(gè)閉包都是單獨(dú)一個(gè)文件,每個(gè)文件仍然通過script標(biāo)簽的方式下載,標(biāo)簽的順序就是模塊的依賴關(guān)系。

面向?qū)ο箝_發(fā)

這種方法只是閉包方式的小改進(jìn),約束js文件返回必須是對象,對象其實(shí)就是一些個(gè)方法和屬性的集合。這樣的優(yōu)點(diǎn):1)規(guī)范化輸出,更加統(tǒng)一的便于相互依賴和引用;2)使用‘類’的方式開發(fā),便于后面的依賴進(jìn)行擴(kuò)展。本質(zhì)上這種方法只是對閉包方法的規(guī)范約束,并沒有做什么根本改動(dòng)。

YUI

雅虎出品的一個(gè)工具,模塊化管理只是一部分,其還具有JS壓縮、混淆、請求合并(合并資源需要server端配合)等性能優(yōu)化的工具,可謂是現(xiàn)有JS模塊化的鼻祖。通過YUI全局對象去管理不同模塊,所有模塊都只是對象上的不同屬性,相當(dāng)于是不同程序運(yùn)行在操作系統(tǒng)上。

CommonJs

2009年Nodejs發(fā)布,Commonjs發(fā)布之后,就成了Node里面標(biāo)準(zhǔn)的模塊化管理工具。同時(shí)Node還推出了npm包管理工具,npm平臺上的包均滿足Commonjs規(guī)范,隨著Node與npm的發(fā)展,Commonjs影響力也越來越大,并且促進(jìn)了后面模塊化工具的發(fā)展,具有里程碑意義的模塊化工具。

AMD和RequireJS

AMD是"AsynchronousModuleDefinition"的縮寫,意思就是"異步模塊定義"。它采用異步方式加載模塊,模塊的加載不影響它后面語句的運(yùn)行。所有依賴這個(gè)模塊的語句,都定義在一個(gè)回調(diào)函數(shù)中,等到所有依賴加載完成之后(前置依賴),這個(gè)回調(diào)函數(shù)才會運(yùn)行。

RequireJs是JS模塊化的工具框架,是AMD規(guī)范的具體實(shí)現(xiàn)。但是有意思的是,RequireJs誕生之后,推廣過程中產(chǎn)生的AMD規(guī)范。RequireJs的優(yōu)點(diǎn):1)動(dòng)態(tài)并行加載js,依賴前置,無需再考慮js加載順序問題;2)核心還是注入變量的沙箱編譯,解決模塊化問題;3)規(guī)范化輸入輸出,使用起來方便;4)對于不滿足AMD規(guī)范的文件可以很好地兼容。

CMD和SeaJs

CMD規(guī)范由國內(nèi)(阿里)誕生,借鑒了Commonjs的規(guī)范與AMD規(guī)范,在兩者基礎(chǔ)上做了改進(jìn)。特點(diǎn):1)define定義模塊、require加載模塊、exports暴露變量;2)不同于AMD的依賴前置,CMD推崇依賴就近(需要的時(shí)候再加載);3)推崇api功能單一,一個(gè)模塊干一件事。

SeaJs是CMD規(guī)范的實(shí)現(xiàn),跟RequireJs類似,CMD也是SeaJs推廣過程中誕生的規(guī)范。CMD借鑒了很多AMD和Commonjs優(yōu)點(diǎn),同樣SeaJs也對AMD和Commonjs做出了很多兼容。

ES6中的模塊化

ES6規(guī)范中終于將模塊化納入JavaScript標(biāo)準(zhǔn),從此JS模塊化被官方扶正,也是未來JS的標(biāo)準(zhǔn)。ES6中的模塊化在Commonjs的基礎(chǔ)上有所不同,增加了關(guān)鍵字import、export、default、as、from,而不是全局對象。二者有兩點(diǎn)主要的區(qū)別:1)CommonJS模塊輸出的是一個(gè)值的拷貝,ES6模塊輸出的是值的引用;2)CommonJS模塊是運(yùn)行時(shí)加載,ES6模塊是編譯時(shí)輸出接口。

到此,相信大家對“初學(xué)者接觸web前端需要注意什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


網(wǎng)站標(biāo)題:初學(xué)者接觸web前端需要注意什么
瀏覽路徑:http://biofuelwatch.net/article/ggcdgj.html
日韩在线不卡一区二区三区四区五区,欧美视频一区二区三,欧美视频中文字幕一区二区,高端 精品 国产 探花,亚欧无吗一二三四五六区