/**
* 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. webpack学习笔记——解决多次输出的问题&自动编译之启用观察者模式,热重载

    [解决多次输出的问题] 昨天学会了用命令打包,如下 webpack entry.js bundle.js 但是会出现多次输出要表现的内容的问题,如下,执行几次上述命令,显示几次,原因是并没有清除之前输 ...

  2. spring cloud(学习笔记)高可用注册中心(Eureka)的实现(二)

    绪论 前几天我用一种方式实现了spring cloud的高可用,达到两个注册中心,详情见spring cloud(学习笔记)高可用注册中心(Eureka)的实现(一),今天我意外发现,注册中心可以无限 ...

  3. mui列表系列

    详细操作见代码: <!doctype html> <html> <head> <meta charset="UTF-8"> < ...

  4. new、override关键字

    1.如果我想彻底覆盖父类的方法,此时可以使用override .假有classB继承自classA,代码如下: public class B : A { public bool _flag; publ ...

  5. C++11 线程并发

    并发 头文件<future> <thread> 高级接口 async().future<> future<int> result1; //int为fun ...

  6. linux 用户管理命令

  7. Django学习手册 - 创建Django工程项目以及APP

    前置步骤: 下载python,django 并且安装好 python 解释器以及django模块. 整体步骤阐述: 创建django工程项目 步骤一:进入安装的python目录 步骤二:输入创建工程的 ...

  8. Aizu - 2249 Road Construction

    题目:给出若干个建筑之间的一些路,每条路都有对应的长度和需要的花费,问在保证源点1到其他个点的距离最短的情况下,最少的花费是多少/ 思路:和一般的最短路问题相比,多了一个 数组id[i],用来记录到达 ...

  9. 配置Oracle GoldenGate安全性

    本章介绍如何配置Oracle GoldenGate安全性. 本章包括以下部分: Overview of Oracle GoldenGate Security Options Encrypting Da ...

  10. cartographer 最新版安装测试

    在官网的基础上稍加修改,但保证代码都是最新的 我的系统配置: Debian9 strech,  ROS lunar 该方法对 ubuntu 系列操作系统以及其他ROS版本同样适用. 1.  安装依赖库 ...