zoukankan      html  css  js  c++  java
  • 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));
  • 相关阅读:
    bzoj 1977
    bzoj 3389
    bzoj 1064
    codeforces 424D
    codeforces 425C
    codeforces 425D
    codeforces 427E
    codeforces 425E
    codeforces 429D
    codeforces 429E
  • 原文地址:https://www.cnblogs.com/huanhuan55/p/10713977.html
Copyright © 2011-2022 走看看