博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Es6的用法
阅读量:7170 次
发布时间:2019-06-29

本文共 2669 字,大约阅读时间需要 8 分钟。

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));

 

转载于:https://www.cnblogs.com/huanhuan55/p/10713977.html

你可能感兴趣的文章
Confluence 6 数据库连接方式
查看>>
Spring+ Spring cloud + SSO单点登录应用认证
查看>>
《认知学习法》学习笔记之“心念一闪,震动十方”
查看>>
你的饭碗还好吗?
查看>>
Jenkins上配置Robot Framework测试邮件通知模板
查看>>
蜗牛爬行日记——记Python2和3的小不同
查看>>
区块链开发公司浅析加速人工智能是否能创新.
查看>>
Matplotlib 3.0 可视化工具强势来袭!
查看>>
数据库的备份
查看>>
11、利用Zabbix监控Web性能和可用性
查看>>
数据库测试
查看>>
shell+Python实现简单的链路监控
查看>>
Android学习笔记--Android基础
查看>>
如何看待和学习人工智能?这是五位哈佛博士生的AMA
查看>>
Citrix桌面虚拟化解决方案介绍
查看>>
监控系统Nagios安装
查看>>
Mysql 数据库工具:DB Tracklayer For iPhone
查看>>
Java中HashMap与HashTable,StringBuilder与StringBuffer的区别
查看>>
Android入门第四篇之TableLayout (一)
查看>>
Oracle SQL、PLSQL 绝技之多表插入
查看>>