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 server 2012 配置多用户ftp服务器配置注意点
1.ftp根目录配置“FTP授权规则”为: 2.配置“FTP用户隔离”为: 3.配置“FTP目录浏览”为: 4.ftp虚拟目录“FTP授权规则”配置为:
- spring-core 中 asm 包的作用
asm包中主要有以下这些类 其中, AnnotationVisitor类:是一个抽象类,定义在解析注解时会触发的事件,如解析到一个基本值类型的注解.enum值类型的注解.Array值类型的注解.注解值 ...
- cookie——创建、获取、删除
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JavaWeb(一)Servlet
一.Servlet简介 Servlet 是J2EE的一个规范,为Java提供统一的web应用规范. 广义的Servlet 是指实现了servlet的类 二.Servlet工作原理 1.原理: 一个ht ...
- 【转载】双调排序Bitonic Sort,适合并行计算的排序算法
双调排序是data-independent的排序, 即比较顺序与数据无关的排序方法, 特别适合做并行计算,例如用GPU.fpga来计算. 1.双调序列 在了解双调排序算法之前,我们先来看看什么是双调序 ...
- android checkBox选中与取消
checkView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO ...
- android 组建添加透明度
给TextView添加透明度,起初用的方法是android:alpha = "0.3" 添加后,文字显示也有点透明发虚,后来改成设置background,然后 backgroun ...
- 为什么python运行的慢
最近在leetcode刷题,明显的注意到同样的算法,python运行的要慢的多,查资料得到python运行的慢主要原因如下: 一.动态类型导致运行速度慢,在北邮人论坛里面的这篇帖子中有较为详细的解释, ...
- NOIP2018D1T1 铺设道路
原题:NOIP2013D1T1 积木大赛 题目地址:P5019 铺设道路 思路:玄学瞎搞 将每块区域插入一个小根堆,这里的小根堆用优先队列实现,即运用一个 \(pair\) , \(first\) 为 ...
- web-font 个人学习小总结
个人觉得 web-font 分为两种: 第一种就是真正文本字体,客户端没有安装的字体通过远程加载字体来实现特殊字体提高用户体验: icodon.com : http://icodon.com/goo ...