Fork me on GitHub

Es6的用法

 var callBack=[];  // 这个等于是个闭包,i会累加到3在做运算,所以结果都是6
             for(var i=0;i<=2;i++)
             {
                 callBack[i]=function(){
                     return i*2;
                 }
             }
             console.table([
                 callBack[0](),
                 callBack[1](),
                 callBack[2]()

             ])
             
            var callBacks=[];
             for(let j=0;j<=2;j++)  //let 作用域为{}号内,结果为0,2,4
             {
                 callBacks[j]=function(){
                     return j *2;
                 }
             }
             console.table([
                 callBacks[0](),
                 callBacks[1](),
                 callBacks[2](),
             ]);
             
  在Es6中{}可以用来分割作用域

{ function test(){
return 1; } console.log(test()); { function test(){ return 2; } console.log(test()); } }
     Es6中箭头函数this指向问题
             var person=function(){  //this的指向,是该函数被调用的对象,在当前d是c调用的,所以是c对象中的a
                 this.a="a",
                 this.b="b",
                 this.c={
                     a:"a++",
                     d:function(){
                         return this.a;
                     }
                 }
             };
             console.log(new person().c.d());
             
             var student=function(){  //Es6中this是指向当前对象的实例
                 this.a="a",
                 this.b="b",
                 this.c={
                     a:"a++",
                     d:()=>{
                         return this.a;
                     },
                     
                 }
             } 
            console.log(new student().c.d());
  
Es6中参数赋值,和可扩展参数
function t(x,y,z){ x
=x || 2; y=y || 7; z=z || 1; return x+y+z; } console.log(t()); function f(x,y,z) { if(y==undefined) { y=8; } if(z==undefined) { z=2; } return x+y+z; } console.log(f(1)); function j(x=5,y=4,z=1) { return x+y+z; } console.log(j(1,6,4)); function t(...a) //...a扩展运算符,代表的是一个可变参数的列表,并且是个数组 { var sum=0; a.forEach(x=>{ sum+=x; }) return sum; }; console.log(t(1,2,3));

 

posted @ 2019-04-15 22:58  欢欢11  阅读(161)  评论(0编辑  收藏  举报