腳本和模塊:
js有兩種源文件,一種叫做腳本,一種叫做模塊。
腳本是瀏覽器和node環境引入的,而模塊只能由js代碼用import引入(模塊機制)。可以理解為:腳本具有主動性,而模塊是被動性,等待被調用的庫。
import聲明:
第一種用法:直接import一個模塊, 例:import "test"
直接引入模塊,只能保證該模塊被執行,但不能獲取到信息;
第二種用法:帶from的import,例:import a from "test"
可以把他們變成本地變量,還有其他寫法。
import x from "./a.js" 引入模塊中導出的默認值。 import {a as x, modify} from "./a.js"; 引入模塊中的變量。 import * as x from "./a.js" 把模塊中所有的變量以類似對象屬性的方式引入。
- 獨立使用 export 聲明就是一個 export 關鍵字加上變量名列表,例如:export {a, b, c};
- export 還有一種特殊的用法,就是跟 default 聯合使用。export default 表示導出一個默認變量值,它可以用於 function 和 class。這里導出的變量是沒有名稱的,可以使用import x from "./a.js"這樣的語法,在模塊中引入。export default 還支持一種語法,后面跟一個表達式,
例如:
var a = {}; export default a;
但是,這里的行為跟導出變量是不一致的,這里導出的是值,導出的就是普通變量 a 的值,以后 a 的變化與導出的值就無關了,修改變量 a,不會使得其他模塊中引入的 default 值發生改變。
export和export default區別:
1. 他們都可以導出常量,函數,文件,模塊等。
2.你可以在其他模塊或者文件中通過import +名稱 的方式,將其導入,以便可以對其使用。
3.在一個文件或者模塊中,export ,import可以有很多,export deault只能有一個。
4. 通過export導出時,在導入時需要加{},export default則不需要。