<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          掌握前端模塊化

          共 14106字,需瀏覽 29分鐘

           ·

          2022-03-03 17:15

          一. 什么是模塊化開發(fā)

          1.1. JavaScript設(shè)計(jì)缺陷

          那么,到底什么是模塊化開發(fā)呢?

          • 事實(shí)上模塊化開發(fā)最終的目的是將程序劃分成一個(gè)個(gè)小的結(jié)構(gòu);
          • 這個(gè)結(jié)構(gòu)中編寫屬于自己的邏輯代碼,有自己的作用域,不會(huì)影響到其他的結(jié)構(gòu);
          • 這個(gè)結(jié)構(gòu)可以將自己希望暴露的變量、函數(shù)、對(duì)象等導(dǎo)出給其結(jié)構(gòu)使用;
          • 也可以通過某種方式,導(dǎo)入另外結(jié)構(gòu)中的變量、函數(shù)、對(duì)象等;

          上面說(shuō)提到的結(jié)構(gòu),就是模塊;

          按照這種結(jié)構(gòu)劃分開發(fā)程序的過程,就是模塊化開發(fā)的過程;

          無(wú)論你多么喜歡JavaScript,以及它現(xiàn)在發(fā)展的有多好,我們都需要承認(rèn)在Brendan Eich用了10天寫出JavaScript的時(shí)候,它都有很多的缺陷:

          • 比如var定義的變量作用域問題;
          • 比如JavaScript的面向?qū)ο蟛⒉荒芟癯R?guī)面向?qū)ο笳Z(yǔ)言一樣使用class;
          • 比如JavaScript沒有模塊化的問題;

          Brendan Eich本人也多次承認(rèn)過JavaScript設(shè)計(jì)之初的缺陷,但是隨著JavaScript的發(fā)展以及標(biāo)準(zhǔn)化,存在的缺陷問題基本都得到了完善。

          • JavaScript目前已經(jīng)得到了快速的發(fā)展,無(wú)論是web、移動(dòng)端、小程序端、服務(wù)器端、桌面應(yīng)用都被廣泛的使用;

          在網(wǎng)頁(yè)開發(fā)的早期,Brendan Eich開發(fā)JavaScript僅僅作為一種腳本語(yǔ)言,做一些簡(jiǎn)單的表單驗(yàn)證或動(dòng)畫實(shí)現(xiàn)等,那個(gè)時(shí)候代碼還是很少的: