ES6学习——用模块封装代码

本文介绍ES6中如何使用模块进行代码封装,包括如何定义全局使用的js文件导出,如何导入已封装的模块,以及解析不同路径的模块引入方式。还探讨了导入导出的重命名特性。
摘要由CSDN通过智能技术生成

    ES6第十三章 用模块封装代码

  1.  引言

     这里封装的代码就是一个js文件,比如我有一些方法需要很多页面都需要用,只想定义一次,那我就把这些方法集中在一个页面里面定义,且在别的js文件里面引入使用,所以就开始有了模块封装

   2. 被定义为全局使用的js文件如何定义导出

//example1 导出数据
export var color = "red"

//example2 导出函数
export function sum(num1, num2) {
    return num1 + num2
}

//example3 导出类
export class person {
    constructor(name, sex) {
        this.name = name
        this.sex = sex
    }
}

//example4 导出的第二种方式
function multiply(num1, num2) {
    return num1 * num2
}
export { multiply }

   3. 导入已封装的模块

//example1 导入模块中定义的 f1,f2
import { f1, f2 } from "./example.js"

//一次性全部导入
import * as example from "./example.js"
//如果被封装的js中定义了f1方法,这样使用
example.f1()

//

 4. js模块引入的说明 "./example.js" "../example.js" "/example"

  • "/example" : 表示从根目录引入(表示localhost/example.js)

   这表示parent和d.js处于同一级目录                                   child.js的父级目录和d.js是同一级目录            

                  

  d.js中引入diff.js的方式是 import XXX from "./diff"              child.js引入d.js的方式是 import XXX from "../d" 

  • "./example.js" : 表示从当前目录引入
  • "../example.js" :表示从父级目录引入

  5. 神器的导入导出

//同一文件下变量的拷贝
let a = 1
let b = a
console.log(a) // 1
console.log(b) // 1
a = 2
console.log(a) //2
console.log(b) //1

//导入导出的变量拷贝
//a.js
export let name = "m"
exprt function setName(NewName){
    name =  NewName
}
//b.js
import { name, setName } from "./a.js"
console.log(name) // "m"
setName("q")
console.log(name) // "q"

 5 .导入导出的重命名

//导出的时候重命名
function sum(a, b) {
    return a + b
}
export { sum as add }

//导入的时候重命名
import { add as sum } from "./b.js"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值