1、為何需要模組化:
因為隨著前端的**複雜度越來越高,**之間會容易有這三個問題(全域性變數衝突、函式命名衝突、依賴關係混亂)
2、模組化規範的高階歷史
commonjs 、 amd 、 cmd 到現在的 es6模組
3、最初最簡單的模組化原始碼(jquery大量使用的也是這種方式)
var module_special = ( function() ;
var b = function() {};
return
})();
解決了內部可以訪問外部變數,但是外部不能訪問內部變數的問題
4、es6的具體實現
(1)export 規定模組對外介面
export 對外介面是物件,包含各種變數
export function fun() {} 對外介面是函式/類
(2)import 輸入其它模組提供的功能
import from 「./file」 指定物件的變數
import * as file from 「./file」 用file重新命名代指所有的物件
(3)export default
優點:優化export對外介面的缺陷,使用import引入可以任意起名
5、commonjs和es6模組的差異
commonjs
es6輸出
值的拷貝,是物件
值的引用(動態引用,無快取)
生成時期
指令碼執行完才生成
**靜態解析時生成
執行時載入
編譯時輸出介面
ES6基礎知識點1
2 解構 3 字串 4 箭頭函式 5 函式新特性 6 陣列新增加方法 7 物件 只能在一對 裡面產生作用,此時console.log b 會報錯,因為外部無法訪問到區域性變數b。if true console.log a console.log b 不能重複宣告乙個區域性變數。不會變數提公升,此時如...
es6 的模組化
這個是需要複習下的,否則後面的react vue 就理解不清晰了 我覺得js 很牛,為啥,因為前後端都是js 這樣結合起來,很順暢 而且node 作為後端,搭建輕量級伺服器,很是好用,寫個介面絲毫沒有任何問題 後面的基本三大塊,1,node express koa 2,三大框架,react vue ...
ES6的模組化
模組化的特點 1 模組 自動執行在嚴格模式下,沒有任何辦法跳出嚴格模式 2 在模組的作用域下建立的變數,不會被新增到全域性作用域中 3 如果外部可以讀取模組當中的內容,需要模組的匯出 4 模組頂級作用域的this為undefined 匯出資料 export var color pink export...