首页 > 其他 > 详细

箭头函数和this

时间:2020-06-26 22:06:58      阅读:67      评论:0      收藏:0      [点我收藏+]

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions

1.

()=>{c}        无参数return c

a=>{c}         一个参数a return c

(a,b)=>{c}   两个参数a和b return c

aa=>{{cc}}   一个参数aa return 对象cc

引入箭头函数有两个方面的作用:更简短的函数并且不绑定this

eg:

var elements = [
  ‘Hydrogen‘,
  ‘Helium‘,
  ‘Lithium‘,
  ‘Beryllium‘
];

不用箭头函数:
elements.map(function(element) { return element.length; });
用箭头函数:
elements.map(element => element.length);

箭头函数不会创建自己的this,它只会从自己的作用域链的上一层继承this

2.

 

在箭头函数出现之前,每一个新函数根据它是被如何调用的来定义这个函数的this值

 

  • 如果是该函数是一个构造函数,this指针指向一个新的对象
  • 在严格模式下的函数调用下,this指向undefined
  • 如果是该函数是一个对象的方法,则它的this指针指向这个对象等等

鉴于 this 是词法层面上的,严格模式中与 this 相关的规则都将被忽略。

var f = () => { ‘use strict‘; return this; };
f() === window; // 或者 global

 

箭头函数和this

原文:https://www.cnblogs.com/do-something/p/13196352.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!