npm install babel-cli -g //安装babel babel index.js -o a.js //等同于 babel index.js --out-file a.js 复制index.js为a.jsbabel src/ -d build/ //等同于 babel src/ --out-dir build/ 复制src目录下所有文件到 build目录下//------------------------------
//babel命令放到pageage中,方便调用
package.json =>"scripts": {"test": "echo \"Error: no test specified\" && exit 1","build":"babel src/ -d build/"/...
ES5中生成实例对象的方法是通过构造函数:function Person(name, age){this.name = namethis.age = age
}
Person.prototype.sayName = function () {console.log(this.name)
}
ES6中添加新的语法生成对象实例:class Person {constructor (name, age) {this.name = namethis.age = age}sayName () {console.log(this.name)}
}
原文:http://www.cnblogs.com/running1/p/7506339.html
ES6(2015)异步解决方案 PromiseES5 回调 callbackfunction load (src,callback){let script = document.creatElement(‘script‘)script.src = src // 次操作 是 引擎默认的异步script.onload = () => { callback(src) }document.head.append(script)
}
load(‘./1.js‘,test)function test(name){console.log(name)
}
test(‘tt‘) // 先执行test() 后执行 load()load(‘./1.js‘,function(st){load(‘./2.js‘,function(st){loa...
0x1 let和const letES6新增了let命令,用于声明变量。其用法类似var,但是声明的变量只在let命令所在的代码块内有效。{let x = 10;var y = 20;
}x // ReferenceError: x is not defined
y // 20 var声明变量存在变量提升。也就是在声明变量之前就可以使用该变量。console.log(x) // undefined,var声明变量之前可以使用该变量var x = 10; 而let不会这样,let声明的变量不能在声明之前使用。console.log(x) // ReferenceError: ...
ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了)。上一次标准的制订还是2009年出台的ES5。目前ES6的标准化工作正在进行中,预计会在14年12月份放出正式敲定的版本。但大部分标准已经就绪,且各浏览器对ES6的支持也正在实现中。
ES6给数组添加了一些新特性,而这些新特性到目前为止完全可以运用到自己的业务层。在这一节中将总结有关于ES6给...
前言
ES5中的数据结构,主要是用Array和Object。在ES6中主要新增了Set和Map数据结构。到目前为止,常用的数据结构有四种Array、Object、Set、Map。下面话不多说了,来一起看看详细的介绍吧。
// 数据结构横向对比,增,查,改,删1、map和数组对比{ let map=new Map();let array=[];/**增**/map.set(t,1);array.push({t:1});console.info(map-array,map,array); /**查**/let map_exist=map.has(t);let array_exist=array.find(item...
众所周知,js中的var声明存在变量提升机制,因此ESMAScript 6引用了块级作用域来强化对变量生命周期的控制
let const 声明不会被提升,有几个需要注意的点1、不能被重复声明
假设作用域中已经存在某个标识符(无论该标识符是通过var声明还是let、const变量声明),此时再使用let或const关键定声明会抛错var count=10
let count=20// 此处则会抛出错误,因为同一作用域内不能重复声明
如果当前作用域内嵌另一个作用域,便可在内嵌的...
前言
异步操作是 JavaScript 编程的麻烦事,麻烦到一直有人提出各种各样的方案,试图解决这个问题。
从最早的回调函数,到 Promise 对象,再到 Generator 函数,每次都有所改进,但又让人觉得不彻底。它们都有额外的复杂性,都需要理解抽象的底层运行机制。
异步I/O不就是读取一个文件吗,干嘛要搞得这么复杂?异步编程的最高境界,就是根本不用关心它是不是异步。
async 函数就是隧道尽头的亮光,很多人认为它是异步操作的终极解决...
本文介绍的是关于es6中Async函数的相关内容,非常出来供大家参考学习,需要的朋友们下面来看看详细的介绍:
async 函数
async 函数,使得异步操作变得更加方便。它是 Generator 函数的语法糖。Generator 函数,依次读取两个文件:
var fs = require(fs);
var readFile = function (fileName) {return new Promise(function (resolve, reject) {fs.readFile(fileName, function(error, data) {if (error) reject(error);resolve(data...
本文实例讲述了ES6正则表达式和字符串正则方法。分享给大家供大家参考,具体如下:
RegExp构造函数
在ES5中,RegExp构造函数的参数有两种情况。
第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag)。
var regex = new RegExp(xyz, i);
// 等价于
var regex = /xyz/i;第二种情况是,参数是一个正则表示式,这时会返回一个原有正则表达式的拷贝。
var regex = new RegExp(/xyz/i);
// 等价于
var regex = /x...
本文实例讲述了ES6学习笔记之Set和Map数据结构。分享给大家供大家参考,具体如下:
一.Set
ES6提供了新的数据结构Set。类似于数组,只不过其成员值都是唯一的,没有重复的值。
Set本身是一个构造函数,用来生成Set数据结构。
1 . Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。
var s = new Set();
var set = new Set([1, 2, 3, 4, 4]);
[...set] // [1, 2, 3, 4]
var items = new Set([1, 2, 3, 4, 5, 5, 5...
ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了)。上一次标准的制订还是2009年出台的ES5。目前ES6的标准化工作正在进行中,预计会在14年12月份放出正式敲定的版本。但大部分标准已经就绪,且各浏览器对ES6的支持也正在实现中。
ES6给数组添加了一些新特性,而这些新特性到目前为止完全可以运用到自己的业务层。在这一节中将总结有关于ES6给...
前端面试+学习笔记(HTML+CSS+JavaScript+ES6+Vue+NodeJs)
一. HTML
1. 盒子模型是什么:每个元素被表示为一个矩形的盒子,有四个部分组成:内容(content)、内边距(padding)、边框(border)、外边距(margin)。它在页面中所占的实际大小(宽高)是content+padding+border+margin之和。 盒模型有两种:标准盒模型(W3C盒模型)、IE盒模型。 两种盒模型的区别:标准盒模型内容大小就是content大小、而IE盒模型内容大小则是...
1.Set
数据结构,类似数组没有重复可用…或者Array.from将new Set构造函数返回值转为数组有add/delete/clear/has/size方法有keys/values/entries/forEach方法(键和值相同)可用于取交集、并集、差集
2. WeakSet
成员只能是对象成员都是弱引用,随时可能消失,不能遍历,没有size方法有add/delete/has方法应用:保证了Foo的实例方法,只能在Foo的实例上调用。这里使用 WeakSet 的好处是,foos对实例的引用,不会被计入内存回收机制...
var 、let、const三种声明变量方式的区别
简述:
命令varletconst变量有效区域全局有效块级作用域内块级作用域内是否允许重定义变量允许同一作用域内不允许同一作用域内不允许是否有变量提升有无无变量声明之前是否可用可用不可用(暂时性死区)不可用(暂时性死区)声明只读变量(常量)且必须立即初始化声明复合对象时,数据地址不可修改,对象成员变量可以修改。使用freeze冻结数据
1 let关键字
1.1 基本方法
? ES6新增块级作用...