摘要:一個(gè)的模塊是一個(gè)包含了代碼的文件。里沒(méi)有所謂的關(guān)鍵字,一個(gè)模塊就是一個(gè)普通的腳本文件,除了以下兩個(gè)區(qū)別中的模塊自動(dòng)開(kāi)啟嚴(yán)格模式。模塊中可以使用和。最簡(jiǎn)單的方法就是添加一個(gè)關(guān)鍵字不再有跨文件或跨模塊的全局變量,聲明的那部分就是這個(gè)模塊的。
一個(gè)ES6的模塊是一個(gè)包含了js代碼的文件。ES6里沒(méi)有所謂的module關(guān)鍵字,一個(gè)模塊就是一個(gè)普通的腳本文件,除了以下兩個(gè)區(qū)別:
ES6中的模塊自動(dòng)開(kāi)啟嚴(yán)格模式。 模塊中可以使用import和export。
先來(lái)說(shuō)說(shuō)export,在模塊中聲明的任何東西都是默認(rèn)私有的,如果想對(duì)其他模塊public,必須將那部分代碼export。最簡(jiǎn)單的方法就是添加一個(gè)export關(guān)鍵字:
// kittydar.js export function detectCats(canvas, options) { var kittydar = new Kittydar(options); return kittydar.detectCats(canvas); } export class Kittydar { ... several methods doing image processing ... } // This helper function isn"t exported. function resizeCanvas() { ... } ...
不再有跨文件或跨模塊的全局變量,export聲明的那部分就是這個(gè)模塊的public API。而在另外一個(gè)文件中,我們可以導(dǎo)入這個(gè)模塊并且使用detectCat方法:
// demo.js - Kittydar demo program import {detectCats} from "kittydar.js"; function go() { var canvas = document.getElementById("catpix"); var cats = detectCats(canvas); drawRectangles(canvas, cats); }
如果需要導(dǎo)入多個(gè)模塊中的接口,如下:
import {detectCats, Kittydar} from "kittydar.js";
我們也可以通過(guò)一行代碼將本模塊所有需要public的方法公開(kāi):
export {detectCats, Kittydar};
這樣就不用一個(gè)個(gè)地添加export關(guān)鍵字了
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/84086.html
摘要:的翻譯文檔由的維護(hù)很多人說(shuō),阮老師已經(jīng)有一本關(guān)于的書(shū)了入門(mén),覺(jué)得看看這本書(shū)就足夠了。前端的異步解決方案之和異步編程模式在前端開(kāi)發(fā)過(guò)程中,顯得越來(lái)越重要。為了讓編程更美好,我們就需要引入來(lái)降低異步編程的復(fù)雜性。 JavaScript Promise 迷你書(shū)(中文版) 超詳細(xì)介紹promise的gitbook,看完再不會(huì)promise...... 本書(shū)的目的是以目前還在制定中的ECMASc...
摘要:回調(diào)函數(shù)這是異步編程最基本的方法。對(duì)象對(duì)象是工作組提出的一種規(guī)范,目的是為異步編程提供統(tǒng)一接口。誕生后,出現(xiàn)了函數(shù),它將異步編程帶入了一個(gè)全新的階段。 更多詳情點(diǎn)擊http://blog.zhangbing.club/Ja... Javascript 語(yǔ)言的執(zhí)行環(huán)境是單線程的,如果沒(méi)有異步編程,根本沒(méi)法用,非卡死不可。 為了解決這個(gè)問(wèn)題,Javascript語(yǔ)言將任務(wù)的執(zhí)行模式分成兩種...
摘要:也就是說(shuō),外部模塊輸出值變了,當(dāng)前模塊的導(dǎo)入值不會(huì)發(fā)生變化。三規(guī)范的出現(xiàn),使得模塊化在環(huán)境中得到了施展機(jī)會(huì)。模塊化這種加載稱為編譯時(shí)加載或者靜態(tài)加載。總結(jié)的模塊化規(guī)范經(jīng)過(guò)了模塊模式的演進(jìn),利用現(xiàn)在常用的打包工具,非常方便我們編寫(xiě)模塊化代碼。 前言 什么是模塊化? 模塊就是實(shí)現(xiàn)特定功能的一組方法,而模塊化是將模塊的代碼創(chuàng)造自己的作用域,只向外部暴露公開(kāi)的方法和變量,而這些方法之間高度解耦...
摘要:執(zhí)行函數(shù)會(huì)返回一個(gè)遍歷器對(duì)象,每一次函數(shù)里面的都相當(dāng)一次遍歷器對(duì)象的方法,并且可以通過(guò)方法傳入自定義的來(lái)改變函數(shù)的行為。函數(shù)可以通過(guò)配合函數(shù)更輕松更優(yōu)雅的實(shí)現(xiàn)異步編程和控制流管理。它和構(gòu)造函數(shù)的不同點(diǎn)類的內(nèi)部定義的所有方法,都是不可枚舉的。 let const的命令 在ES6之前,聲明變量只能用var,var方式聲明變量其實(shí)是很不合理的,準(zhǔn)確的說(shuō),是因?yàn)镋S5里面沒(méi)有塊級(jí)作用域是很不合...
摘要:使用新特性開(kāi)發(fā)微信小程序國(guó)際化與本地化新特性國(guó)際化與本地化新增了很多對(duì)于國(guó)際化的支持,比如時(shí)間格式,貨幣格式,數(shù)字格式等。 ECMAScript 6(簡(jiǎn)稱ES6)是JavaScript語(yǔ)言的最新標(biāo)準(zhǔn)。因?yàn)楫?dāng)前版本的ES6是在2015年發(fā)布的,所以又稱ECMAScript 2015。 微信小程序支持絕大部分ES6的新增特性。 使用ES6新特性開(kāi)發(fā)微信小程序(1) ES6新特性:Cons...
閱讀 3012·2021-11-22 12:06
閱讀 599·2021-09-03 10:29
閱讀 6526·2021-09-02 09:52
閱讀 2013·2019-08-30 15:52
閱讀 3411·2019-08-29 16:39
閱讀 1191·2019-08-29 15:35
閱讀 2061·2019-08-29 15:17
閱讀 1417·2019-08-29 11:17