摘要:模塊化,就是字面意思的模塊化。比如模塊化一個(gè)表單驗(yàn)證,模塊化一個(gè)輪播圖等。但是這樣的編寫還存在一個(gè)問題,對(duì)象中的函數(shù)或者屬性對(duì)外部是可見的,并且是可修改的。
模塊化,就是字面意思的模塊化。比如模塊化一個(gè)表單驗(yàn)證,模塊化一個(gè)輪播圖等。
在平常 JavaScript 代碼的編寫中,我們一般是保持著這樣一個(gè)順序。
1. 無(wú)腦式自然編寫function a() { alert("a") } function b() { alert("b") } a() b()
這樣的寫法在每個(gè)人的學(xué)習(xí)初級(jí)階段都是存在的,當(dāng)代碼量比較少的時(shí)候顯然是沒有什么問題的。但是當(dāng)工程量比較大的時(shí)候,就會(huì)出現(xiàn)一些列的不可控,因?yàn)檫@里出現(xiàn)的變量都是全局變量,處處埋藏著炸彈。
2. 進(jìn)階式裝 X 編寫在寫了稍微多的代碼后只要是個(gè)正常的人都會(huì)意識(shí)到這個(gè)問題,然后可能就會(huì)出現(xiàn)下面的寫法。
var A = {} var B = {} A.a = function() { //do } A.b = function() { //do } B.a = function() { //do } B.b = function() { //do }
在這樣子的編寫中,我們首先創(chuàng)建了不同的對(duì)象,然后在各自的對(duì)象里面聲明 名字是同樣的函數(shù) a 和 b, 所以不會(huì)產(chǎn)生沖突。相比較第一種寫法,顯然在沖突這件事情上會(huì)好很多很多。
但是這樣的編寫還存在一個(gè)問題,對(duì)象中的函數(shù)或者屬性對(duì)外部是可見的,并且是可修改的。外部不經(jīng)意或者故意的修改就會(huì)讓原本的功能癱瘓,顯然這樣是存在一定的安全隱患的。
3. 稍高層立即執(zhí)行函數(shù)這個(gè)時(shí)候可能是多多少少用過(guò)一些 jQuery 庫(kù)之類的東西,可能就會(huì)這樣
(function() { // private code var a = function() { } window.a = a; })();
這樣寫的話可以有私立的 private 類型變量,然后將局部的函數(shù)提升到 windows 下面,可以讓其他地方使用。
據(jù)說(shuō) jQuery 就是使用這種寫法讓 windows 有了 $ 這個(gè)方法。
當(dāng)然,也可以寫一個(gè)立即執(zhí)行函數(shù),然后返回一個(gè)對(duì)象,讓其他模塊去調(diào)用,比如這樣
var A = (function(){ //private code var a = function() { //do } return {a: a} })() A.a()
道理和上面的沒有太大的區(qū)別
4. 現(xiàn)有高級(jí)通用寫法未知。。。。
requeryJs...
AMD...
原文鏈接:http://life.rccoder.net/webpre/1157.html
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/86173.html
摘要:概述是異步編程的一種解決方案,很好的解決了傳統(tǒng)異步編程中的回調(diào)地獄問題。語(yǔ)法中闡述,有三種狀態(tài),分別是進(jìn)行中已完成已失敗。方法使用要使用方法我們首先要?jiǎng)?chuàng)建實(shí)例,也就是說(shuō)我們要一個(gè)對(duì)象。 1. Promise概述 promise是異步編程的一種解決方案,很好的解決了傳統(tǒng)異步編程中的回調(diào)地獄問題。同時(shí)我們可以把promise可以理解為一個(gè)容器,這個(gè)容器里面存放著一些未來(lái)才會(huì)結(jié)束的事件(通常...
摘要:主題大綱淺述采樣與端到端何為何為端到端何為采樣的做法與弊端嘉賓介紹高馳濤,官方開發(fā)組成員,作者,云智慧高級(jí)架構(gòu)師。 極牛技術(shù)實(shí)踐分享活動(dòng) 極牛技術(shù)實(shí)踐分享系列活動(dòng)是極牛聯(lián)合頂級(jí)VC、技術(shù)專家,為企業(yè)、技術(shù)人提供的一種系統(tǒng)的線上技術(shù)分享活動(dòng)。 每期不同的技術(shù)主題,和行業(yè)專家深度探討,專注解決技術(shù)實(shí)踐難點(diǎn),推動(dòng)技術(shù)創(chuàng)新,每?jī)芍艿闹苋?0點(diǎn)正式開課。歡迎各個(gè)機(jī)構(gòu)、企業(yè)、行業(yè)專家、技術(shù)人...
摘要:前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開發(fā)教程工程實(shí)踐深度閱讀開源項(xiàng)目巔峰人生等欄目。背后的故事本文是對(duì)于年之間世界發(fā)生的大事件的詳細(xì)介紹,闡述了從提出到角力到流產(chǎn)的前世今生。 前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開發(fā)教程、工程實(shí)踐、深度閱讀、開源項(xiàng)目、巔峰人生等欄目。歡迎...
摘要:淺述集群日常管理維護(hù)中的一些痛點(diǎn)較為龐大的集群規(guī)模及容器數(shù)量維護(hù)管理。同時(shí)為了便于分類管理,避免端口沖突和資源合理利用。測(cè)試環(huán)境維護(hù)管理問題。測(cè)試版是基于與的運(yùn)維管理系統(tǒng)。 原文出自【聽云技術(shù)博客】:http://blog.tingyun.com/web/a...時(shí)至今日,接觸kubernetes也有一段時(shí)間了,而我們的大部分業(yè)務(wù)也已經(jīng)穩(wěn)定地運(yùn)行在不同規(guī)模的kubernetes集群上,...
摘要:來(lái)源編程精解中文第三版翻譯項(xiàng)目原文譯者飛龍協(xié)議自豪地采用谷歌翻譯編寫易于刪除,而不是易于擴(kuò)展的代碼。模塊之間的關(guān)系稱為依賴關(guān)系。用于連接模塊的最廣泛的方法稱為模塊。模塊的主要概念是稱為的函數(shù)。 來(lái)源:ApacheCN『JavaScript 編程精解 中文第三版』翻譯項(xiàng)目原文:Modules 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 自豪地采用谷歌翻譯 編寫易于刪除,而不是易于擴(kuò)...
閱讀 2125·2021-10-12 10:12
閱讀 834·2021-09-24 09:47
閱讀 1248·2021-08-19 11:12
閱讀 3540·2019-08-29 13:06
閱讀 749·2019-08-26 11:43
閱讀 2643·2019-08-23 17:20
閱讀 1202·2019-08-23 16:52
閱讀 2667·2019-08-23 14:27