JS: export導出的變量在頁面內使用並被修改后,原文件也被修改了


腳本和模塊:

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則不需要。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM