Es6插章(二)
Es6相对于 Es5 有很多便利的地方,如:
箭头函数,我们就不必用that = this或 self = this 或 _this = this 或.bind(this) es6之前,定义默认参数的方法是在一个方法内部定义 Default Parameters(默认参数) Template Literals (模板文本) Multi-line Strings (多行字符串) Destructuring Assignment (解构赋值) Enhanced Object Literals (增强的对象文本) Promises Block-Scoped Constructs Let and Const(块作用域构造Let and Const) Classes(类) Modules(模块) 等等等等。。。。。。 复制代码包括我们可以再原来代码的基础上进行简化操作:
Es5时我们写一个函数体需要
var show=function(){return {a:12,b:88} } console.log(show()) 这样子写 复制代码但是在Es6时我们可以简化到
let show=()=>({a:11,b:22}) console.log(show()) 复制代码可以省略函数体的花括号,不能省略对象的花括号
报错-->当对象的花括号作为了函数体的花括号时,那么里面不能是一个一个的对象,如果需要返还的是一个整体的话,加个括号
以及新增的...
...是用来收集剩余测参数
js 要求...必须是最后一个
function show(a,b,...arr){console.log(a,b,...arr)console.log(arr) } show(1,3) 复制代码3个ajax 无逻辑存在all中
:有逻辑存在的场景,第二个ajak需要第一个ajax返回的结果
Promise.all([$.ajax({url:"1.json",dataType:"json"}),$.ajax({url:"2.json",dataType:"json"}),$.ajax({url:"3.json",dataType:"json"}) ]).then((arr)=>{let [data1,data2,data3]=arr;console.log(data1,data2,data3) }) l ajax:用户数据 用户状态 2 ajax 普通用户 普通用户商品 3 ajax Vip用户 加载VIp商品 复制代码async await
async 函数在函数前标记关键字 这个一个async函数 作用标注里面含有异步操作
以同步方式写代码: async背后是一套编译内容,执行异步操作,性能高
共同去请求数据 按顺序赋值
async function show(){let data1=await $.ajax({url:"1.json",dataType:"json"}); let data2=await $.ajax({url:"2.json",dataType:"json"});let data3=await $.ajax({url:"3.json",dataType:"json"});console.log(data1,data2,data3) } show() 复制代码一层层增加 遇见一个wait增加一层回调
转载于:https://juejin.im/post/5d019f4f6fb9a07ed440fab3
总结
- 上一篇: 数据转数字类型的方法总结
- 下一篇: CentOS启动不显示图形界面直接进入命