箭头函数和this指向问题

1. 箭头函数

①结构:const/let 函数名 = (参数) = > {函数体};

②一般函数转为箭头函数步骤:声明形式->函数表达式形式->箭头函数

 function fun() {}; ->const/let add = function() {}; -> const/let add = ()=>{};

③注意事项:单个参数可以省略圆括号,无参或者有多个参数不能省略圆括号;

④单行函数体可以同时省略{}return,多行函数体不能省略。

⑤单行对象:如果箭头函数返回单行对象,可以在{}外面加上(),让浏览器不再认为那是函数体的花括号;

⑥不适用箭头函数的场景:作为构造函数(因为构造函数有this指向而箭头函数没有this指向);需要this调用对象时;需要使用arguments时(箭头函数没有arguments)。

2. this指向问题

全局作用域下的this指向的对象是window对象

一般函数(非箭头函数)中的this指向

只声明函数而不调用时,不知道this指向谁,this的指向和函数在哪没有关系,只和谁调用有关系。在非严格模式下,全局函数调用是this指向的是window,而在严格模式下,this指向的是undefined。构造函数的this指向的是构造函数实例化后生成的那个对象。

③箭头函数的this指向:箭头函数没有自己的this指向,但是它会沿着作用域链向外层一级一级的查找。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值