1、变量声明
新增let、const声明方式:
let声明不存在变量提升、且不可重复声明
const 声明一个常量,期间不可改变其值
2、箭头函数
eg: 之前的方式: function (){ xxx }
现在的方式:var name1 = () => { xxx }
要注意两点: 1、如果参数是一个,则括号可省略;2、如果函数返回值为一个,{}可省略;
eg: var name2 = res => res*2
3、字符串
1、字符串模板
let obj = `hello world ${data}`; data是自己动态设置的值,但注意要用反单引号
2、startsWith,endWith
startsWith用于判断某个字符串开头是否包含该字符串
endWith用于判断某个字符串结尾是否包含该字符串
eg:let str = 'http://baidu.com';
str.startsWith('http') == true;
4、promise
异步处理函数
let p = new Promise(resolve,reject){
axios(config).then( res => {
resolve(res); //成功返回
reject(res); //失败返回
})
};
p.then( res => { })
如果在开发过程中需要同时调用多个异步操作,那么可以调用Promise.all
Promise.all([ 异步操作1,异步操作2,异步操作3 ]).then( res => {
返回的res为数组0,1,2, 分别代表三个异步操作返回的结果
})
5、generator
es6中新增的异步处理函数,必须配合yield来使用,与promise的不同之处在于,‘揣一脚,走一步‘,也就是说他是一步一步来执行的
而且generator函数必须用*号标识
eg:function *Hello(){
yield axios().then();
yield axios().then();
return ;
}
let obj = Hello();
obj.next(); //输出第一次的yield的值
obj.next(); //输出第二次的yield的值
此外,generator函数的runner插件也很好用,类似于Promise.all,
eg:runner( function *(){
let obj1 = yield axios().then();
let obj2 = yield axios().then();
let obj3 = yield axios().then();
console.log(obj1,obj2,obj3); //会按顺序输出三个数据
})