模塊化思想

一、前言(演化思想)

  • 全局變量(屬性、方法)
  • 同名變量名沖突(值會被后一個覆蓋)
  • 對象、變量之間的關(guān)系不清晰
  • 文件順序的依賴
  • 命名空間
  • 理論上解決了命名沖突的問題,但是對象的屬性全部向外暴露,不安全
  • 劃分私有命名空間
  • 解決了命名沖突的問題
  • 解決了屬性向外暴露,容易被修改、不安全的問題
  • ** 項目開發(fā)中,我們負責(zé)將各種功能封裝到對象的屬性中,匿名自執(zhí)行函數(shù),避免同名函數(shù),在自執(zhí)行函數(shù)執(zhí)行的時候,我們還可以做一些init的操作 **
  • 擴展與維護(為了增加程序的健壯性)
  • 在注入的時候做了判斷 (window.cal ||{})
  • 以參數(shù)注入,防止沒有傳參,帶來的undefined.的異常
  • 依賴注入的思想:通過由外部傳入對象,再給對象添加功能以后返回
  • 對于維護:堅持開閉原則(對添加開發(fā)、對修改封閉)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 剛才突發(fā)奇想,想到“a.js中定義的函數(shù)可以在b.js中調(diào)用嗎?”這個問題,于是親自實驗了一下。 寫完這個demo...
    趁你還年輕233閱讀 287評論 2 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,678評論 19 139
  • 世界在變化,變化好快,想趕上世界的變化節(jié)奏。趕不上很焦慮。有什么方法?
    藍田玉Cayla閱讀 162評論 0 0
  • 文頂頂 唐巧 王巍 SWIFTER sunny ibireme 里脊串的開發(fā)隨筆 葉孤城 曉月 Bifidy 星光...
    xukuangbo_閱讀 356評論 0 0

友情鏈接更多精彩內(nèi)容