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

箭头函数和this

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

标签:web   ref   line   turn   map   tps   key   等等   numbers   

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

标签:web   ref   line   turn   map   tps   key   等等   numbers   

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

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