欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript模塊導(dǎo)入導(dǎo)出詳解

 更新時(shí)間:2022年12月25日 10:00:01   作者:HelloWorld開發(fā)者社區(qū)  
這篇文章主要介紹了Javascript模塊導(dǎo)入導(dǎo)出詳解的相關(guān)資料,需要的朋友可以參考下

筆者開始學(xué)習(xí)Javascript的時(shí)候,對模塊不太懂,不知道怎么導(dǎo)入模塊,導(dǎo)出模塊,就胡亂一通試

比如 import xx from 'test.js' 不起作用,就加個(gè)括號 import {xx} from 'test.js'

反正總是靠蒙,總有一種寫法是對的,其實(shí)還是沒有理解,還是不懂

尤其是在當(dāng)初寫 www.helloworld.net 網(wǎng)站的時(shí)候,一遇到這種問題,就懵逼了,尤其是引入第三方庫的時(shí)候

這種情況下更多,此篇文章也是為了怕以后忘記,自查用的,也希望能幫助更多的朋友,此篇文章只是針對ES6的模塊相關(guān)知識

首先要知道export,import 是什么

我們知道,JS 模塊導(dǎo)入導(dǎo)出,使用 import , export 這兩個(gè)關(guān)鍵字

  • export 用于對外輸出本模塊
  • import 用于導(dǎo)入模塊

也就是說使用 export 導(dǎo)出一個(gè)模塊之后,其它文件就可以使用 import 導(dǎo)入相應(yīng)的模塊了

下面我們具體看看, import 和 export 到底怎么用?怎么導(dǎo)出模塊(比如變量,函數(shù),類,對象等)

1 導(dǎo)出單個(gè)變量

//a.js 導(dǎo)出一個(gè)變量,語法如下
export var site = "www.helloworld.net"

//b.js 中使用import 導(dǎo)入上面的變量
import { site } from "/.a.js" //路徑根據(jù)你的實(shí)際情況填寫
console.log(site)	//輸出: www.helloworld.net

2 導(dǎo)出多個(gè)變量

上面的例子是導(dǎo)出單個(gè)變量,那么如何導(dǎo)出多個(gè)變量呢

 //a.js 中定義兩個(gè)變量,并導(dǎo)出
 var siteUrl="www.helloworld.net"
 var siteName="helloworld開發(fā)者社區(qū)"
 
 //將上面的變量導(dǎo)出
 export { siteUrl ,siteName }  
 
 
 
 // b.js 中使用這兩個(gè)變量
 import { siteUrl , siteName } from "/.a.js" //路徑根據(jù)你的實(shí)際情況填寫

 console.log(siteUrl)	//輸出: www.helloworld.net
 console.log(siteName)	//輸出: helloworld開發(fā)者社區(qū)

3 導(dǎo)出函數(shù)

導(dǎo)出函數(shù)和導(dǎo)出變量一樣,需要添加{ }

//a.js 中定義并導(dǎo)出一個(gè)函數(shù)
function sum(a, b) {
    return a + b
}
//將函數(shù)sum導(dǎo)出
export { sum } 


//b.js 中導(dǎo)入函數(shù)并使用
import { sum } from "/.a.js" //路徑根據(jù)你的實(shí)際情況填寫
console.log( sum(4,6) ) //輸出: 10

4 導(dǎo)出對象

js中一切皆對象,所以對象一定是可以導(dǎo)出的,并且有兩種寫法

4.1 第一種寫法

使用 export default關(guān)鍵字導(dǎo)出,如下

//a.js 中,定義對象并導(dǎo)出, 注意,使用export default 這兩個(gè)關(guān)鍵字導(dǎo)出一個(gè)對象
export default {
    siteUrl:'www.helloworld.net',
    siteName:'helloworld開發(fā)者社區(qū)'
}


//b.js 中導(dǎo)入并使用
import obj from './a.js'   	//路徑根據(jù)你的實(shí)際情況填寫
console.log(obj.siteUrl)	//輸出:www.helloworld.net
console.log(obj.siteName)	//輸出:helloworld開發(fā)者社區(qū)

4.2 第二種寫法

同樣是使用export default關(guān)鍵字,如下

//a.js 中定義對象,并在最后導(dǎo)出
var obj = {
   	siteUrl:'www.helloworld.net',
    siteName:'helloworld開發(fā)者社區(qū)'
}

export default obj	//導(dǎo)出對象obj


//b.js 中導(dǎo)入并使用
import obj from './a.js'   	//路徑根據(jù)你的實(shí)際情況填寫
console.log(obj.siteUrl)	//輸出:www.helloworld.net
console.log(obj.siteName)	//輸出:helloworld開發(fā)者社區(qū)

5 導(dǎo)出類

導(dǎo)出類與上面的導(dǎo)出對象類似,同樣是用 export default 關(guān)鍵字,同樣有兩種寫法

5.1 第一種寫法

//a.js 中定義一個(gè)類并直接導(dǎo)出
export default class Person {
    //類的屬性
    site = "www.helloworld.net"

    //類的方法
    show(){
        console.log(this.site)
    }
}


//b.js 中導(dǎo)入并使用
//導(dǎo)入類
import Person from './a.js'

//創(chuàng)建類的一個(gè)對象person
let person = new Person()

//調(diào)用類的方法
person.show()  	//輸出:www.helloworld.net

5.2 第二種寫法

//a.js 中定義一個(gè)類,最后導(dǎo)出
class Person {
    //類的屬性
    site = "www.helloworld.net"

    //類的方法
    show(){
        console.log(this.site)
    }
}

//導(dǎo)出這個(gè)類
export default Person 



//b.js 中導(dǎo)入并使用
//導(dǎo)入類
import Person from './a.js'

//創(chuàng)建類的一個(gè)對象person
let person = new Person()

//調(diào)用類的方法
person.show()  	//輸出:www.helloworld.net

小結(jié)

下面我們簡單總結(jié)一下

exportexport default的區(qū)別

  • export與export default均可用于導(dǎo)出常量、函數(shù)、文件、模塊等
  • 可以在其它文件或模塊中通過import+(常量 | 函數(shù) | 文件 | 模塊)名的方式,將其導(dǎo)入,以便能夠?qū)ζ溥M(jìn)行使用
  • export default后面不能跟const或let的關(guān)鍵詞
  • export、import可以有多個(gè),export default僅有一個(gè)。
  • 通過export方式導(dǎo)出,在導(dǎo)入時(shí)要加 { },export default則不需要
  • export具名導(dǎo)出xxx ,export default匿名。區(qū)別在于導(dǎo)入的時(shí)候,export需要一樣的名稱才能匹配,后者無論取什么名都可以。
  • 模塊化管理中一個(gè)文件就是一個(gè)模塊,export可以導(dǎo)出多個(gè)方法和變量,export default只能導(dǎo)出當(dāng)前模塊,一個(gè)js文件中只支持出現(xiàn)一個(gè)

對于import ,export , export default ,他們的用法上面的例子已經(jīng)很詳細(xì)的列出了,忘記的時(shí)候,可以當(dāng)作參考看看

最重要的還是要明白為什么要這么寫,實(shí)在不明白記住就行了。

到此這篇關(guān)于Javascript模塊導(dǎo)入導(dǎo)出詳解的文章就介紹到這了,更多相關(guān)Javascript模塊導(dǎo)入導(dǎo)出內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)同時(shí)上傳多張圖片

    微信小程序?qū)崿F(xiàn)同時(shí)上傳多張圖片

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)同時(shí)上傳多張圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • ECharts入門教程

    ECharts入門教程

    ECharts 是一個(gè)使用JavaScript實(shí)現(xiàn)的開源可視化庫,涵蓋各行業(yè)圖表,滿足各種需求。這篇文章介紹了ECharts的基礎(chǔ)知識,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 慕課網(wǎng)題目之js實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)功能

    慕課網(wǎng)題目之js實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)功能

    這篇文章主要為大家詳細(xì)介紹了慕課網(wǎng)題目之js抽獎(jiǎng)系統(tǒng)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • JavaScript prototype屬性詳解

    JavaScript prototype屬性詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript prototype屬性,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • uniapp引用echarts的詳細(xì)步驟(附柱狀圖實(shí)例)

    uniapp引用echarts的詳細(xì)步驟(附柱狀圖實(shí)例)

    最近在uni-app搭建的微信小程序項(xiàng)目中使用了ECharts,下面這篇文章主要給大家介紹了關(guān)于uniapp引用echarts的詳細(xì)步驟,文中還附有柱狀圖實(shí)例,需要的朋友可以參考下
    2022-07-07
  • TypeScript 映射類型詳情

    TypeScript 映射類型詳情

    這篇文章主要介紹了TypeScript 映射類型詳情,一個(gè)類型需要基于另外一個(gè)類型, 又不想拷貝一份,這個(gè)時(shí)候可以考慮使用映射類型,映射類型建立在索引簽名的語法上,下面文章我們就從回顧下索引簽名展開TypeScript 映射類型的相關(guān)資料,需要的朋友可以參考一下
    2021-12-12
  • JS設(shè)計(jì)模式之策略模式概念與用法分析

    JS設(shè)計(jì)模式之策略模式概念與用法分析

    這篇文章主要介紹了JS設(shè)計(jì)模式之策略模式概念與用法,簡單分析了策略模式的基本概念、原理并結(jié)合實(shí)例形式分析了javascript實(shí)現(xiàn)與使用策略模式的相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • JavaScript學(xué)習(xí)教程之cookie與webstorage

    JavaScript學(xué)習(xí)教程之cookie與webstorage

    這篇文章主要給大家介紹了關(guān)于JavaScript學(xué)習(xí)教程之cookie與webstorage的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • JavaScript實(shí)現(xiàn)拖拽和縮放效果

    JavaScript實(shí)現(xiàn)拖拽和縮放效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)拖拽和縮放效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 基于JS開發(fā)微信網(wǎng)頁錄音功能的實(shí)例代碼

    基于JS開發(fā)微信網(wǎng)頁錄音功能的實(shí)例代碼

    這篇文章主要介紹了基于JS開發(fā)微信網(wǎng)頁錄音功能的實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04

最新評論