/**
* Created by Administrator on 2017/4/15.
*/
/*---------------------export命令---------------------*/
//Es6 的模块加载
//defer是“渲染完再执行”,async是“下载完就执行”。
//浏览器对于带有type="module"的<script>,是异步加载,等同于打开了<script>标签的defer属性。
/*
<script type="module">
//xxx
</script>*/
console.info(this===undefined); //this指向undefined了 /*---------------------export命令---------------------*/
export const a=11111;
export const b=2;
//可以写成export={a,b}; //输出函数
export function c(...ag){
let [x,y,z]=ag;
return {x,y,z}
}
//as关键字重命名
function dd(){
return 123;
}
export{dd as d}; const e=7;
export {e}; //CommonJS模块和Es6模块的区别
//CommonJS模块输出的是值的拷贝,也就是说,一旦输出一个值,模块内部的变化就影响不到这个值
//ES6 模块是动态引用,并且不会缓存值,值会动态更新
export const f={'name':'leyi'};
setTimeout(()=> f.name='jiucaiqiezi',700); //export default命令,为模块指定默认输出,这样在import的时候就可以为该匿名函数指定任意名字
//使用export default时,对应的import语句不需要使用大括号;不使用export default时,对应的import语句需要使用大括号
//一个文件或模块中,export、import可以有多个,export default仅有一个
export default{
hello(){console.info('leyi!')} //简写
//等同于 hello:()=>console.info('leyi!')
//等同于 hello:function(){ return console.info('leyi!)}
}
//export default命令只是输出一个叫做default的变量,它后面不能跟变量声明语句。 /**
* Created by Administrator on 2017/4/15.
*/
/*---------------------import命令---------------------*/
//import命令接受一对大括号,里面指定要从其他模块导入的变量名。大括号里面的变量名,必须与被导入模块对外接口的名称相同。
//import是静态执行,不能使用表达式和变量
import {a,b,c,d,e,f} from './test';
console.info(a,b);
const {x,y,z}=c(1,2,3,4,5,6,7);
console.info(x,y,z); //1 2 3
console.info(d()); //123
console.info(e); //7
document.write(f.name);
setTimeout(()=>document.write(f.name),701); //leyi->jiucaiqiezi //模块的整体加载,用星号(*)指定一个对象,所有输出值都加载在这个对象上面
import * as all from './test';
console.info(all.a,all.b);//11111 2 import anyway from './test'; //这里引入模块时不加大括号,名字可以随便起,因为export是导出的default模块
anyway.hello(); //hello!

  

Es6模块语法笔记的更多相关文章

  1. ECMA Script 6_模块加载方案 ES6 Module 模块语法_import_export

    1. 模块加载方案 commonJS 背景: 历史上,JavaScript 一直没有模块(module)体系, 无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来. 其他语言都有这项功能: ...

  2. es6 模块与commonJS的区别

    在刚接触模块化开发的阶段,我总是容易将export.import.require等语法给弄混,今天索性记个笔记,将ES6 模块知识点理清楚 未接触ES6 模块时,模块开发方案常见的有CommonJS. ...

  3. 总结常见的ES6新语法特性

    前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...

  4. ES6模块的import和export用法总结

    ES6之前以前出现了js模块加载的方案,最主要的是CommonJS和AMD规范.commonjs前者主要应用于服务器,实现同步加载,如nodejs.AMD规范应用于浏览器,如requirejs,为异步 ...

  5. SQL基础语法笔记教程整理

    PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...

  6. 基于ES6模块标准通过webpack打包HTM5项目

    本篇主要演示通过webpack打包phaser项目,webpack安装方法在此处就不一一赘述了 经常用phaser来写html5游戏的朋友可能会发现,当游戏场景比较多时,如果都写在一个js文件中那么将 ...

  7. 总结常见的ES6新语法特性。

    前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...

  8. commonjs模块和es6模块的区别

    commonjs模块与es6模块的区别 到目前为止,已经实习了3个月的时间了.最近在面试,在面试题里面有题目涉及到模块循环加载的知识.趁着这个机会,将commonjs模块与es6模块之间一些重要的的区 ...

  9. ES6常用语法

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

随机推荐

  1. Embedded training,嵌入式训练

    一旦初始的模型集被创建后, HERest使用整个训练集来执行"嵌入式训练(embedded training)",HERest将对全部HMM音素集模型执行一次Baum-Welch, ...

  2. C#后台画图保存为ipg/png的文件

    public void Exec1()        { string imgurl = @"http://api.senwoo.com/Content/HeadPortrait/" ...

  3. GDI+学习---1.初识GDI+

    ---恢复内容开始--- GDI+: GDI+由一组C++类实现,是对于GDI的继承,GDI+不仅优化了大部分GDI性能而且提供了更多特性.允许应用程序开发者将信息显示在显示器或者打印机上,而无需考虑 ...

  4. Javascript入门(二)变量、获取元素、操作元素

    一.变量 Javascript 有五种基本数据类型 number.String.boolean.undefined.null 一种复合类型:object 二.使用getElementById方法获取元 ...

  5. C++中,有哪4种与类型转换相关的关键字?各有什么特点?应该在什么场合下使用?

    转:https://www.cnblogs.com/mjiang2017/p/9358032.html C++中,四个与类型转换相关的关键字:static_cast.const_cast.reinte ...

  6. Django实战(一)-----用户登录与注册系统2(数据模型、admin后台、路由视图)

    使用Django开发Web应用的过程中,很多人都是急急忙忙地写视图,写前端页面,把最根本的模型设计给忽略了. 模型中定义了数据如何在数据库内保存,再直白点说就是数据表的定义.这部分工作体现在Djang ...

  7. Springboot实体类转JSON报错Could not find acceptable representation & 设置访问项目根路径的默认欢迎页面

    =================实体类转JSON报错的解决办法============= 之前在springmvc的时候也报过这个错,原因以及springmvc中解决办法参考:https://www ...

  8. Java线程实现的第三种方式Callable方式与结合Future获取返回值

    多线程的实现方式有实现Runnable接口和继承Thread类(实际上Thread类也实现了Runnable接口),但是Runnable接口的方式有两个弊端,第一个是不能获取返回结果,第二个是不能抛出 ...

  9. SQL Server - 约束 CONSTRAINT

    总结 约束放置在表中,以下五种约束: NOT NULL 非空约束C 指定的列不允许为空值 UNIQUE 唯一约束U 指定的列中没有重复值,或该表中每一个值或者每一组值都将是唯一的 PRIMARY KE ...

  10. 二层环路保护,SEP多实例的配置

    作者:邓聪聪 智能以太保护SEP(Smart Ethernet Protection)是一种专用于以太网链路层的环网协议.SEP是一种以太环路保护机制,它通过有选择性地阻塞网络环路冗余链路,来达到消除 ...