ES6 開課吧石川筆記


es6

一、      變量

1.var缺點:

  •  可以重復聲明;
  • 限制修改;
  •  沒有塊級作用域

2.let:  不能重復聲明;變量-可以修改;塊級作用域

3.const:不能重復聲明;常量-不可以修改;塊級作用域

4 .塊級作用域用處的例子:

使用var時,如果要實現依次點擊按鈕分別彈出1,2,3時需要如下寫法(閉包):

 

使用let時,如果要實現依次點擊按鈕分別彈出1,2,3時需要如下寫法():

 

二、      函數

1         箭頭函數

  • 如果只有一個參數,()可以省略
  • 如果只有一個return,{}和return可以省略

let show=function(a){

return a*2;}

show(12);//21

等價如下寫法

let show=a=>a*2;

show(12);

2         參數

1)  參數擴展/數組展開(rest parameter)

  • l  收集剩余的參數

function show(a,b,…args){}

但是rest parameter必須是最后一個

 

這種形式是不可以的!!

 

  • 展開數組,展開后的效果相當於把數組內容寫在這。

例如在arr=[1,2,3]中 1,2,3…arr的寫法是等價的。例如,

let arr=[1,2,3];

let show=function(a,b,c){

alert(a);

alert(b);

alert(c);

}

show(…arr);// 等價於show(1,2,3);

 

2) 默認參數

傳進新參數就用新的,沒有傳進新的就用默認的。

function show(a,b=12,c=33){

console.log(a,b,c);//22,43,33

}

show(22,43);

三、      解構賦值

 

例:let [a,b,c]=[1,2,3];//a=1,b=2,c=3

 

  •  左右兩邊結構必須一樣
  •  右邊必須是個東西,如{2,5}就不是“東西”。
  •  聲明和賦值不能分開,必須在一句話里,如下寫法不合法:

             let [a,b,c];

             [a,b,c]=[1,2,3];

 

 其它例子:

打印結果:

 

當然,可以自己控制粒度,如上述例子也可以如下表示

 

打印結果:

 

 

四、      數組

1         map

作用:映射---進去幾個出來幾個,可以用來映射分數的及格等。

let arr=[1,2,3];

let result=arr.map(item=>item*2);//2,4,6

2         reduce

作用:匯總---進去一堆,出來一個,可以用來求總和、平均數等。

let arr=[2,3,4];

let result=arr.reduce((temp,item,index)=>{

if(index!=arr.length-1){

return temp+item;

}else{

return(temp+item)/arr.length//求平均數

}

})

執行過程中reduce回調函數的參數變化:

第一次:temp=2,item=3,index=1

第二次:temp=5,item=4,index=2

3         filter

作用:過濾器回調函數return true,則返回對應的item.

let arr=[

{title:’男士襯衫1’,price:75},

{title:’男士襯衫2’,price:5575},

{title:’男士襯衫3’,price:7335},

{title:’男士襯衫4’,price:725}

];

let arr.filter(item=>item>=1000);// {title:’男士襯衫2’,price:5575},{title:’男士襯衫3’,price:7335}

 

4         forEach

作用:循環,迭代

let arr=[1,2,3,4];

arr.forEach((item,index)=>{

alert(“index:”+index+”intem:”+item); });

注意:forEach回調函數沒有return語句。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM