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