内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

如何在JavaScript中導(dǎo)入導(dǎo)出module-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)如何在JavaScript中導(dǎo)入導(dǎo)出 module,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

在潮陽等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,潮陽網(wǎng)站建設(shè)費(fèi)用合理。JavaScript是什么

JavaScript是一種直譯式的腳本語言,其解釋器被稱為JavaScript引擎,是瀏覽器的一部分,JavaScript是被廣泛用于客戶端的腳本語言,最早是在HTML網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動(dòng)態(tài)功能。

ES6在語言標(biāo)準(zhǔn)的層面上,實(shí)現(xiàn)了模塊功能,成為瀏覽器和服務(wù)器通用的模塊解決方案,完全可以取代 CommonJS 和 AMD 規(guī)范,基本特點(diǎn)如下:

  • 每一個(gè)模塊只加載一次, 每一個(gè)JS只執(zhí)行一次, 如果下次再去加載同目錄下同文件,直接從內(nèi)存中讀??;

  • 每一個(gè)模塊內(nèi)聲明的變量都是局部變量, 不會(huì)污染全局作用域;

  • 模塊內(nèi)部的變量或者函數(shù)可以通過export導(dǎo)出;

  • 一個(gè)模塊可以導(dǎo)入別的模塊

2.模塊功能主要由兩個(gè)命令構(gòu)成:export和import。export命令用于規(guī)定模塊的對外接口,import命令用于輸入其他模塊提供的功能;

3.一個(gè)模塊就是一個(gè)獨(dú)立的文件,該文件內(nèi)部的所有變量,外部無法獲取。如果你希望外部能夠讀取模塊內(nèi)部的某個(gè)變量,就必須使用export關(guān)鍵字輸出該變量;

var year = '2018';
var month = 'Febuary';
export {year, month};

export 導(dǎo)出模塊

export語法聲明用于導(dǎo)出函數(shù)、對象、指定文件(或模塊)的原始值。 有兩種模塊導(dǎo)出方式:命名式導(dǎo)出(名稱導(dǎo)出)和默認(rèn)導(dǎo)出(定義式導(dǎo)出),命名式導(dǎo)出每個(gè)模塊可以有多個(gè),而默認(rèn)導(dǎo)出每個(gè)模塊僅一個(gè) 。

命名式導(dǎo)出

模塊可以通過export前綴關(guān)鍵詞聲明導(dǎo)出對象,導(dǎo)出對象可以是多個(gè)。這些導(dǎo)出對象用名稱進(jìn)行區(qū)分,稱之為命名式導(dǎo)出

export { func }; // 導(dǎo)出一個(gè)已定義的函數(shù)func
export const foo = Math.sqrt(100); // 導(dǎo)出一個(gè)常量

我們可以使用*和from關(guān)鍵字來實(shí)現(xiàn)的模塊的繼承:

export * from 'base_module';

模塊導(dǎo)出時(shí),可以指定模塊的導(dǎo)出成員。導(dǎo)出成員可以認(rèn)為是類中的公有成員,而非導(dǎo)出成員可以認(rèn)為是類中的私有成員:

var name = 'Kevin的居酒屋';
var domain = 'http://coffee.toast.com';
 
export {name, domain}; // 相當(dāng)于導(dǎo)出{name:name,domain:domain}

模塊導(dǎo)出時(shí),我們可以使用as關(guān)鍵字對導(dǎo)出成員進(jìn)行重命名,上面的導(dǎo)出可以這樣寫:

export {name as siteName, domain}

注意一下語法錯(cuò)誤:

export 1; 
var a = 100;
export a;

export在導(dǎo)出接口的時(shí)候,必須與模塊內(nèi)部的變量具有一一對應(yīng)的關(guān)系。直接導(dǎo)出1沒有任何意義,也不可能在import的時(shí)候有一個(gè)變量與之對應(yīng)export a雖然看上去成立,但是a的值是一個(gè)數(shù)字,根本無法完成解構(gòu),因此必須寫成export {a}的形式。即使a被賦值為一個(gè)函數(shù),也是不建議使用上面的形式導(dǎo)出的因?yàn)榇蟛糠诛L(fēng)格都建議,模塊中最好在末尾用一個(gè)export導(dǎo)出所有的接口,就像上面那些例子一樣。

默認(rèn)導(dǎo)出

默認(rèn)導(dǎo)出也被稱做定義式導(dǎo)出。命名式導(dǎo)出可以導(dǎo)出多個(gè)值,但在import引用時(shí),也要使用相同的名稱來引用相應(yīng)的值。默認(rèn)導(dǎo)出只有導(dǎo)出一個(gè)單一值,這個(gè)輸出可以是一個(gè)函數(shù)、類或其它類型的值,這樣在模塊import導(dǎo)入時(shí)也會(huì)更 容易引用。

export default function() {}; // 導(dǎo)出一個(gè)函數(shù)
export default class(){}; // 導(dǎo)出一個(gè)類

默認(rèn)導(dǎo)出可以理解為另一種形式的命名導(dǎo)出,默認(rèn)導(dǎo)出可以認(rèn)為是使用了default名稱的命名導(dǎo)出。

下面兩種導(dǎo)出方式是等價(jià)的:

const D = 123; 
export default D;
export { D as default };

使用名稱導(dǎo)出一個(gè)模塊時(shí):

// "my-module.js" 模塊
function cube(x) {
  return x * x * x;
}
const foo = Math.PI + Math.SQRT2;
export { cube, foo };

在另一個(gè)模塊(js文件)中,我們可以像下面這樣引用:

import { cube, foo } from 'my-module';
console.log(cube(3));
console.log(foo);

使用默認(rèn)導(dǎo)出一個(gè)模塊時(shí):

// "my-module.js"模塊
export default function (x) {
return x * x * x;
}

在另一個(gè)模塊中,我們可以像下面這樣引用,相對名稱導(dǎo)出來說使用更為簡單:

import cube from 'my-module';
console.log(cube(3)); // 27

import導(dǎo)入模塊

import語法聲明用于從已導(dǎo)出的模塊、腳本中導(dǎo)入函數(shù)、對象、指定文件(或模塊)的原始值。import模塊導(dǎo)入與export模塊導(dǎo)出功能相對應(yīng),也存在兩種模塊導(dǎo)入方式:命名式導(dǎo)入(名稱導(dǎo)入)和默認(rèn)導(dǎo)入(定義式導(dǎo)入)。

注意事項(xiàng): import必須放在文件的最開始,且前面不允許有其他邏輯代碼,這和其他所有編程語言的導(dǎo)入風(fēng)格一致。

命名導(dǎo)入

我們可以通過指定名稱將導(dǎo)入成員插入到當(dāng)作用域中??梢詫?dǎo)入單個(gè)成員或多個(gè)成員:

注意,花括號里面的變量與export后面的變量一一對應(yīng)

import {myMember} from "my-module";
import {foo, bar} from "my-module";

通過*符號,我們可以導(dǎo)入模塊中的全部屬性和方法。當(dāng)導(dǎo)入模塊全部導(dǎo)出內(nèi)容時(shí),就是將導(dǎo)出模塊('my-module.js')所有的導(dǎo)出綁定內(nèi)容,插入到當(dāng)前模塊('myModule')的作用域中:

import * as myModule from "my-module";

默認(rèn)導(dǎo)入

在模塊導(dǎo)出時(shí),可能會(huì)存在默認(rèn)導(dǎo)出。同樣的,在導(dǎo)入時(shí)可以使用import指令導(dǎo)入這些默認(rèn)值。直接導(dǎo)入默認(rèn)值:

import defaultName from "my-module";
import myDefault, {foo, bar} from "my-module"; // 指定成員導(dǎo)入和默認(rèn)導(dǎo)入

default關(guān)鍵字

// my-module.js
export default function() {}
 
// 等效于:
function func() {};
export {func as default};

在import的時(shí)候,可以這樣用:

import a from './my-module';
// 等效于,或者說就是下面這種寫法的簡寫
import {default as a} from './my-module';

關(guān)于如何在JavaScript中導(dǎo)入導(dǎo)出 module就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)頁名稱:如何在JavaScript中導(dǎo)入導(dǎo)出module-創(chuàng)新互聯(lián)
文章出自:http://www.rwnh.cn/article30/jojso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、企業(yè)建站、網(wǎng)站設(shè)計(jì)公司、搜索引擎優(yōu)化、網(wǎng)站維護(hù)、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)
永善县| 宣化县| 汝城县| 宁都县| 庆城县| 湘阴县| 荆门市| 襄汾县| 安宁市| 南康市| 沐川县| 襄城县| 万源市| 桑植县| 上思县| 韩城市| 高青县| 台湾省| 通榆县| 普兰县| 兴隆县| 互助| 洛隆县| 出国| 扎赉特旗| 万全县| 鸡泽县| 东莞市| 广东省| 宜君县| 杭锦旗| 内江市| 共和县| 麻栗坡县| 平果县| 习水县| 巴彦淖尔市| 康保县| 武胜县| 区。| 迭部县|