Es6插章(二)
Es6相對于 Es5 有很多便利的地方,如:
箭頭函數(shù),我們就不必用that = this或 self = this 或 _this = this 或.bind(this) es6之前,定義默認參數(shù)的方法是在一個方法內(nèi)部定義 Default Parameters(默認參數(shù)) Template Literals (模板文本) Multi-line Strings (多行字符串) Destructuring Assignment (解構(gòu)賦值) Enhanced Object Literals (增強的對象文本) Promises Block-Scoped Constructs Let and Const(塊作用域構(gòu)造Let and Const) Classes(類) Modules(模塊) 等等等等。。。。。。 復(fù)制代碼包括我們可以再原來代碼的基礎(chǔ)上進行簡化操作:
Es5時我們寫一個函數(shù)體需要
var show=function(){return {a:12,b:88} } console.log(show()) 這樣子寫 復(fù)制代碼但是在Es6時我們可以簡化到
let show=()=>({a:11,b:22}) console.log(show()) 復(fù)制代碼可以省略函數(shù)體的花括號,不能省略對象的花括號
報錯-->當(dāng)對象的花括號作為了函數(shù)體的花括號時,那么里面不能是一個一個的對象,如果需要返還的是一個整體的話,加個括號
以及新增的...
...是用來收集剩余測參數(shù)
js 要求...必須是最后一個
function show(a,b,...arr){console.log(a,b,...arr)console.log(arr) } show(1,3) 復(fù)制代碼3個ajax 無邏輯存在all中
:有邏輯存在的場景,第二個ajak需要第一個ajax返回的結(jié)果
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:用戶數(shù)據(jù) 用戶狀態(tài) 2 ajax 普通用戶 普通用戶商品 3 ajax Vip用戶 加載VIp商品 復(fù)制代碼async await
async 函數(shù)在函數(shù)前標(biāo)記關(guān)鍵字 這個一個async函數(shù) 作用標(biāo)注里面含有異步操作
以同步方式寫代碼: async背后是一套編譯內(nèi)容,執(zhí)行異步操作,性能高
共同去請求數(shù)據(jù) 按順序賦值
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() 復(fù)制代碼一層層增加 遇見一個wait增加一層回調(diào)
轉(zhuǎn)載于:https://juejin.im/post/5d019f4f6fb9a07ed440fab3
總結(jié)
- 上一篇: 数据转数字类型的方法总结
- 下一篇: CentOS启动不显示图形界面直接进入命