Es6模块语法笔记
/**
* 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模块语法笔记的更多相关文章
- ECMA Script 6_模块加载方案 ES6 Module 模块语法_import_export
1. 模块加载方案 commonJS 背景: 历史上,JavaScript 一直没有模块(module)体系, 无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来. 其他语言都有这项功能: ...
- es6 模块与commonJS的区别
在刚接触模块化开发的阶段,我总是容易将export.import.require等语法给弄混,今天索性记个笔记,将ES6 模块知识点理清楚 未接触ES6 模块时,模块开发方案常见的有CommonJS. ...
- 总结常见的ES6新语法特性
前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...
- ES6模块的import和export用法总结
ES6之前以前出现了js模块加载的方案,最主要的是CommonJS和AMD规范.commonjs前者主要应用于服务器,实现同步加载,如nodejs.AMD规范应用于浏览器,如requirejs,为异步 ...
- SQL基础语法笔记教程整理
PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...
- 基于ES6模块标准通过webpack打包HTM5项目
本篇主要演示通过webpack打包phaser项目,webpack安装方法在此处就不一一赘述了 经常用phaser来写html5游戏的朋友可能会发现,当游戏场景比较多时,如果都写在一个js文件中那么将 ...
- 总结常见的ES6新语法特性。
前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...
- commonjs模块和es6模块的区别
commonjs模块与es6模块的区别 到目前为止,已经实习了3个月的时间了.最近在面试,在面试题里面有题目涉及到模块循环加载的知识.趁着这个机会,将commonjs模块与es6模块之间一些重要的的区 ...
- ES6常用语法
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
随机推荐
- windows平台下利用Nginx做负载均衡
1.下载nginx(http://nginx.org/en/download.html)安装包,解压,并使用cmd命令转到nginx.exe所在的目录 2.执行cmd命令start nginx启动ng ...
- 多分类Logistics回归公式的梯度上升推导&极大似然证明sigmoid函数的由来
https://blog.csdn.net/zhy8623080/article/details/73188671 也即softmax公式
- POJ 1236 Network of Schools 连通图缩点
题目大意:有向图连通图,第一问求至少需要多少个软件才能传输到所有学校,第二问求至少需要增加多少条路使其成为强连通图 题目思路:利用Tarjan算法经行缩点,第一问就是求缩点后入度为0的点的个数(特殊情 ...
- python,中使用while...else 和 for...else 还有try...else,另外就是运用with关键字
其他语言中else只可以和if进行组合,也就是我们常见的if...else,但是python为else赋予了新的声明.它可以和while .for .try一起串联使用. 下面我们介绍和while串联 ...
- python第五天,两个知识点三目运算符和assert抛异常处理。
在python 2.5x之前是没有三目运算符的,但随着语言的发展,在2.5之后就加入了三目运算符 ''' 这里主要将三目运算符 其中也可以通过 x,y=4,5这种方式进行快速的声明变量和对变量赋值. ...
- CountDownLatch 闭锁、FutureTask、Semaphore信号量、Barrier栅栏
同步工具类可以是任何一个对象.阻塞队列可以作为同步工具类,其他类型的同步工具类还包括信号量(Semaphore).栅栏(Barrier).以及闭锁(Latch). 所有的同步工具类都包含一些特定的结构 ...
- Java的Fork/Join任务
当我们需要执行大量的小任务时,有经验的Java开发人员都会采用线程池来高效执行这些小任务.然而,有一种任务,例如,对超过1000万个元素的数组进行排序,这种任务本身可以并发执行,但如何拆解成小任务需要 ...
- 用Tesseract训练验证码遇到的问题
1.准备验证码图片 import os from urllib.request import urlretrieve urlPath='http://www.189.cn/portal/captcha ...
- Pthread:POSIX 多线程程序设计【转】
转自:http://www.cnblogs.com/mywolrd/archive/2009/02/05/1930707.html#phtread_ref POSIX 多线程程序设计 Blaise ...
- sublime修改侧边栏字体
安装了sublime的material主题后,侧边栏的字体特别小,设置方法如下: 安装插件 用上面的插件打开 Material-Theme.sublime-theme 如下 { "class ...