<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] #### 模塊化概念 歷史上,JavaScript 一直沒有模塊(module)體系,無法將一個大程序拆分成互相依賴的小文件,再用簡單的方法拼裝起來。其他語言都有這項功能,比如 Ruby的require、Python 的import,甚至就連 CSS 都有@import,但是 JavaScript 任 何這方面的支持都沒有,這對開發大型的、復雜的項目形成了巨大障礙。在 ES6 之前,社區制定了一些模塊加載方案,最主要的有 CommonJS 和 AMD 兩種。前者用于服務器,后者用于瀏覽器。ES6 在語言標準的層面上,實現了模塊功能,而且實現得相當簡單,完全可以取代 CommonJS 和 AMD 規范,成為瀏覽器和服務器通用的模塊解決方案。ES6 模塊的設計思想,是盡量的靜態化,使得編譯時就能確定模塊的依賴關系,以及輸入和輸出的變量。CommonJS 和 AMD 模塊,都只能在運行時確定這些東西。比如,CommonJS 模塊就是對象,輸入時必須查找對象屬性。 ? 模塊功能主要由兩個命令構成:export和import。export命令用于規定模塊的對外接口,import命令用于輸入其他模塊提供的功能。 ? 一個模塊就是一個獨立的文件。該文件內部的所有變量,外部無法獲取。如果你希望外部能夠讀取模塊內部的某個變量,就必須使用export關鍵字輸出該變量。 #### 瀏覽器中引入模塊文件 瀏覽器中引入模塊文件的時候要注意: 1. 需要對script標簽指定 type='module' 屬性 2. 需要通過http協議訪問頁面才可以正常引入模塊文件 3. 最好通過最新版谷歌瀏覽器(chrome)進行測試 <script src="a.js" type="module"></script> #### export用法示例 export用法1: export var hd = '后盾人'; export用法2: var url = 'www.houdunren.com'; export {url}; export用法3: var hd = '后盾人'; var url = 'www.houdunren.com'; export {hd,url}; 導出函數: export function foo(x, y) { return x * y; }; #### 別名 1.通常情況下,export輸出的變量就是本來的名字,但是可以使用as關鍵字重命名。 var hd = '后盾人'; var url = 'www.houdunren.com'; export {hd as houdun,url as website}; 2.export語句輸出的接口,與其對應的值是動態綁定關系,即通過該接口,可以取到模塊內部實時的值。 //a.js import {hd} from './b.js'; console.log(hd); setTimeout(function(){ console.log(hd); },2000) //b.js let hd = '后盾人'; setTimeout(function(){ hd = 'houdunren.com'; },1000) export {hd}; 結果: 后盾人 houdunren.com #### import導入模塊 1.使用export命令定義了模塊的對外接口以后,其他 JS 文件就可以通過import命令加載這個模塊。注意,導入時路徑要完整,./不可省略import {hd,url,foo} from './b.js'。 2.如果想為輸入的變量重新取一個名字,import命令要使用as關鍵字,將輸入的變量重命名。import {hd as houdun,url} from './b.js'。 #### export default命令 ? 從前面的例子可以看出,使用import命令的時候,用戶需要知道所要加載的變量名或函數名,否則無法加載。但是,用戶肯定希望快速上手,未必愿意閱讀文檔,去了解模塊有哪些屬性和方法。 ? 為了給用戶提供方便,讓他們不用閱讀文檔就能加載模塊,就要用到export default命令,為模塊指定默認輸出。 export default hd() { console.log('foo'); } ? export default命令用于指定模塊的默認輸出。顯然,一個模塊只能有一個默認輸出,因此export default命令只能使用一次。所以,import命令后面才不用加大括號,因為只可能對應一個方法。 ? 本質上,export default就是輸出一個叫做default的變量或方法,然后系統允許你為它取任意名字。 ? 通過export default命令導出的數據不屬于數據接口,在導入的時候必須指定名稱,且不需要加花括號。 //a.js import y,{hd,url} from './b.js'; console.log(y); console.log(hd); console.log(url); //b.js let hd = '后盾人'; let url = 'houdunren.com'; let year = 2018; export {hd,url}; export default year;
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看