资讯专栏INFORMATION COLUMN

初入ES6-Moudule

Baaaan / 3049人阅读

摘要:所有代码共享一个全局作用域,而模块则是自动运行在严格模式下的代码,其创建的代码不会添加到全局作用域中,仅存在模块的顶级作用域中,使用的话必须导出部分的代码供访问,也可以从其他的模块引入模块标识符以开始表示从根目录开始以开始从当前目录以开始表

JS所有代码共享一个全局作用域,而模块则是自动运行在严格模式下的代码,其创建的代码不会添加到全局作用域中,仅存在模块的顶级作用域中,使用的话必须导出部分的代码供访问,也可以从其他的模块引入
模块标识符
以/开始表示从根目录开始
以./开始从当前目录
以../开始表示从父目录开始
其他URL格式
所有的模块引进必须用以上的方法,尤其不能直接引入,如:import "module.js";

1,export关键字导出,放在任何变量,函数或者类声明的前面
如果不实用default,匿名的函数是无法导出的

//module A
export var  a = 34;
export function fn(){};
export const b =  4;
export class .....

function inside(){}        //这个方法是私有的外部无法访问

function outside(){}        //也可以先定义一个变量,后面在导出


export outside;

default

//module.js
export default function(){}    //要输出一个匿名函数的时候,使用default关键字

import name from "./module.js";    //注意此时名称没有大括号,因为只有一个变量
//此时可以直接把name作为匿名函数的名称直接使用,可以不需要知道模块的方法名称,直接自己命名调用
//default只能使用一次,而且如果不是匿名函数,默认是匿名函数
//module.js
var fn = function(){};
export defalut fn;        //即使是输出函数名仍是匿名的,外部不可访问
import fn from "./module.js";

//module.js
var fn = function(){};
export  fn;        //没有default关键字,外面可以访问
import { fn } from "./module.js";

//如果有default和其他的输出的话用逗号隔开
import name ,{ varable} from "./module.js";

2,import from 引入,引入的模块变量类似绑定,会自动提升到最顶部

//导入单个绑定
import { vailble } from "./moudule.js";
//导入多个绑定
import { vara varb ..} from "./module.js";
//导入整个模块,把所有导出的变量作为对象的属性使用,也叫做命名空间导入
import * as example from "./moudule.js";


//同一个模块JS只执行一次,并保存在内存中
import { a } from "./moudule.js";
import {b } from "./moudule.js";
import { c } from "./moudule.js";
//以上代码只导出了第一个变量

ES6模块的特性

请输入代码

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88877.html

相关文章

  • HTML & CSS之小白初入江湖

    摘要:之小白初入江湖超文本标记语言简称是一种用于创建网页的标准标记语言。描述了一个网站的结构语义随着线索的呈现,使之成为一种标记语言而非编程语言。是块级元素,是行内元素。层叠样式表简称是一种用来为结构化文档如添加样式的工具。 HTML & CSS之小白初入江湖 1. HTML 超文本标记语言(HyperText Markup Language, 简称HTML)是一种用于创建网页的标准标记语言...

    fai1017 评论0 收藏0
  • HTML & CSS之小白初入江湖

    摘要:之小白初入江湖超文本标记语言简称是一种用于创建网页的标准标记语言。描述了一个网站的结构语义随着线索的呈现,使之成为一种标记语言而非编程语言。是块级元素,是行内元素。层叠样式表简称是一种用来为结构化文档如添加样式的工具。 HTML & CSS之小白初入江湖 1. HTML 超文本标记语言(HyperText Markup Language, 简称HTML)是一种用于创建网页的标准标记语言...

    crossoverJie 评论0 收藏0
  • 初入vue配合el-table做批量下载

    摘要:刚开始做项目,正好碰上了一个批量下载的功能就是下面图片中的一个导出的功能后台返回的数据格式是这样的,如下做批量下载后台需要前端给一个必需字段,在我这里也就是上代码这样我们的就是一个由组成的数组,搞定 刚开始做vue项目,正好碰上了一个批量下载的功能 就是下面图片中的一个导出的功能showImg(https://segmentfault.com/img/bVbsuIr); 后台返回的数据...

    tunny 评论0 收藏0
  • 初入Vue,node,express,mongodb

    摘要:本人前端萌新大概花了一周多一点,完成了一个前后端分离解耦的简易个人博客项目。项目前后端分离,路由完全交给处理,后端只负责操作数据库,暴露。目前项目提供做学习用途,希望能给大家一些帮助,对全栈项目有一个初步的了解,谢谢。 本人前端萌新大概花了一周多一点,完成了一个前后端分离解耦的简易个人博客项目。项目前后端分离,路由完全交给vue-router处理,后端只负责操作数据库,暴露api。 技...

    dingding199389 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<