1.CommonJs和Es6(ECMAScript 6?)模塊化的相同點和不同點
// 相同點:
// ---對引入的對象賦值,即對象內(nèi)部的值的改變
// 不同點:
// 1.CommonJs require模塊運行時加載,而Es6模塊編譯時輸出接口
// 2.CommonJs require模塊同步加載(排隊加載),而es6模塊異步加載(就是同時加載,不影響其他模塊的執(zhí)行)
// 3.CommonJs require對模塊的淺拷貝,Es6只讀只存不改變其值
//4.import 接口 只讀 不能修改其值:
當(dāng)使用import導(dǎo)入一個接口時,該接口是只讀的,不能直接修改其變量的值。這意味著不能改變被導(dǎo)入變量的指針指向(即不能將其指向另一個對象),但可以改變變量內(nèi)部的指針指向(即可以修改對象內(nèi)部的屬性)。在CommonJS中,可以重新對導(dǎo)入的變量賦值(即改變指針指向),但在ES6模塊中,賦值操作會導(dǎo)致編譯錯誤。
//--運行時加載:
// CommonJS 模塊就是對象;是先加載整個模塊,生成一個對象,然后再從這個對象上面讀取方法,這種加載稱為“運行時加載”。
// --編譯時加載:
// ES6模塊不是對象,而是通過 export 命令「顯式指定輸出的代碼」。
// import 時采用靜態(tài)命令的形式,即在import指定「加載某個輸出值」,而「不是加載整個模塊」,
// 這種加載稱為“編譯時加載”。
文章來源地址http://www.zghlxwxcb.cn/news/detail-855498.html
文章來源:http://www.zghlxwxcb.cn/news/detail-855498.html
到了這里,關(guān)于關(guān)于前端的那些知識點的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!