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));
  • 相关阅读:
    java架构师学习路线-HTTP请求类型及说明
    java架构师学习路线-关闭HTTP的TRACE方法
    AC自动机模板
    loj 2721 [NOI2018] 屠龙勇士
    scrum介绍
    本地搭建nacos集群
    js对象
    函数声明与表达式、匿名函数与具名函数、立即执行函数
    第六章 SSH远程服务介绍
    第十二章 配置vlan
  • 原文地址:https://www.cnblogs.com/huanhuan55/p/10713977.html
Copyright © 2011-2022 走看看