import和export的作用

2022-06-13 08:54:07 字數 1241 閱讀 5180

在es6標準發布之前,js是沒有模組化的概念的,也就是說原生js是無法將乙個大型程式拆分成若干相互依賴的小模組的。而es6針對這個問題提出了module的概念,設計思想是盡量的靜態化,使得編譯時就能確定模組的依賴關係,以及輸入和輸出的變數。

關於靜態化是指直接從指定模組取出想要的方法,其他的不載入。比如

此時只載入fs中的stat、exists和readfile三個模組,其他的不載入。而比如commonjs和 amd 模組,都只能在執行時確定這些東西。也就是先載入整個fs,然後再從中找到想要的模組。

export用於對外輸出本模組(乙個檔案可以理解為乙個模組)變數的介面,可以使用as對要輸出的變數進行重新命名。

import用於在乙個模組中載入另乙個含有export介面的模組,可以使用as對引入的變數進行重新命名。import命令具有提公升效果,會提公升到整個模組的頭部,首先執行。如果多次重複執行同一句import語句,那麼只會執行一次,而不會執行多次。

也就是說使用export命令定義了模組的對外介面以後,其他js檔案就可以通過import命令載入這個模組(檔案)。

1、二者均用於匯出常量、函式、檔案、模組等;

2、你可以在其它檔案或模組中通過import+(常量 | 函式 | 檔案 | 模組)名的方式,將其匯入,以便能夠對其進行使用;

3、在乙個檔案或模組中,export、import可以有多個,export default僅有乙個;

4、通過export方式匯出,在匯入時要加,export default則不需要。

5、在用import引入時,如果是用export方法定義的匯出,必須要知道指定的變數名。而如果使用export default定義的時候,import可以起任意的名字,這裡可以理解為,用export default宣告匯出模組時,自動生成了乙個叫default的變數,當使用import命令匯入時,會自動將這個defualt變數賦值給宣告的變數中。這也就解釋了為什麼export default僅有乙個。注:export default命令其實只是輸出乙個叫做default的變數,所以它後面不能跟變數宣告語句.

如果在乙個模組之中,先輸入後輸出同乙個模組,import語句可以與export語句寫在一起。

上面**中,export和import語句可以結合在一起,寫成一行。但需要注意的是,寫成一行以後,foo和bar實際上並沒有被匯入當前模組,只是相當於對外**了這兩個介面,導致當前模組不能直接使用foo和bar。

彙編裡 import 和export

b 和 jmp 相同,自己在死迴圈 import 定義表示這是乙個外部變數的標號,不是在本程式定義的 export 表示本程式裡面用到的變數提供給其他模組呼叫的。以上兩個在彙編和c語言混合程式設計的時候用到 剛看到一篇不錯的blog,解說c和彙編混編的,雖然貌似是翻譯ads文件的,不過寫的挺不錯,通...

export和import的基本用法

基本理論 export用於對外輸出本模組的介面 import用於在乙個模組中載入另外乙個模組 含有export或者不含有export 注 不含有export介面的模組直接引用 import assets js test.js 輸出變數 test.js export var a 2 import fr...

模組化 import和export

關於js模組化的使用,大家肯定不陌生,現有的主要兩種 cmd和amd,還有一種相容cmd和amd寫法的umd。一般前端框架都支援amd,而node.js採用的是cmd的模組語法。但大部分瀏覽器不支援,相信以後瀏覽器肯定會逐步支援的。export 基本用法兩種 1直接匯出 export functio...