码迷,mamicode.com
首页 > 其他好文 > 详细

es6的箭头函数和es5的function函数区别

时间:2020-03-20 23:50:49      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:bin   构造   构造函数   div   使用   code   lin   简单   gen   

一.es6的箭头函数
es6箭头函数内部没有this,使用时会上朔寻找最近的this
不可以做构造函数,不能使用new命令,因为没有this
函数体内没有arguments,可以使用rest参数代替
不能用yield,不能使用generator函数
二.疑问
下面代码中的箭头函数arrows的this指向window

let obj = {
  aaa: ‘123‘,
  arrows : () => {
    console.log(‘arrows‘,this);
  },
  func : function () {
    console.log(‘func‘,this);
  }
}

obj.arrows(); // window
obj.func(); // obj

结合实例就是这样 

var obj={

  1.  
    a :()=>{
    1.  
        console.log(this)
  2.  
    },
  3.  
    b:function () {
    1.  
        console.log(this)
  4.  
    }.bind(this)
  5.  
    }
  6.  
    obj.a()//obj.a
  7.  
    obj.b()//obj.b
  8.  
    复制代码

当当当当,这下就很舒服了,对于一个不怎么喜欢看文字的人来说,辛苦地背那些内容,不如用代码说话简单,至于为什么不加bind(this)的时候,this会指向obj;

es6的箭头函数和es5的function函数区别

标签:bin   构造   构造函数   div   使用   code   lin   简单   gen   

原文地址:https://www.cnblogs.com/xzybk/p/12535674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!