您的位置:首页 > 其它

ES6中箭头函数与普通函数this的区别

2019-04-04 11:30 281 查看

普通函数中的this:

  1. this总是代表它的直接调用者, 例如 obj.func , 那么func中的this就是obj
  2. 在默认情况,没找到直接调用者, 则this指的是 window
  3. 在严格模式下,没有直接调用者的函数中的this是 undefined
  4. 使用call,apply, bind(ES5新增)绑定的, this指的是 绑定的对象

箭头函数中的this:

  • 默认指向在定义时作用域, 它所处的对象,而不是执行时的对象, 定义它的时候,可能环境是window(即继承父级的this)

其他区别:

  1. 箭头函数不能当作构造函数,也就是说,不能使用new命令,否则会报错
  2. 箭头函数不能使用argumen对象,该对象在函数体内不存在。如果要用,可以用rest参数代替
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: