箭头(关于箭头的基本详情介绍)

2023年3月24日16:34:17箭头(关于箭头的基本详情介绍)已关闭评论

比较点

普通函数

箭头函数

具体案例

简写

/

箭头函数如果没有参数,同时函数体的返回值只有一句,则{}和return都可以省略。

1、函数简写

this指向

this总是指向调用它的对象,如果作为构造函数,它指向创建的对象实例

箭头函数的this指向的是父级作用域的this,是通过查找作用域链来确定 this 的值,也就是说看的是上下文的this,指向的是定义它的对象,而不是使用时所在的对象。

2、this指向

this改变

call()、apply()、bind()等方法能改函数中this的指向

call()、apply()、bind()等方法不能改变箭头函数中this的指向

3、改变this指向

构造函数

可以作为构造函数,用来创建对象实例

箭头函数不能作为构造函数使用

4、构造函数

arguments对象

每一个普通函数调用后都具有一个arguments对象,用来存储实际传递的参数。

箭头函数没有自己的arguments,取而代之用rest(剩余)参数...arg来解决

5、arguments与...args

prototype原型

具有prototype

没有prototype原型

6、prototype原型

1、箭头函数简写:

箭头函数如果没有参数,同时函数体的返回值只有一句,则{}和return都可以省略var fn =()=>console.log("123");//去掉了{} 和returnfn();//123

2、this指向:

普通函数中this指向的是调用它的对象,如果作为构造函数,它指向创建的对象实例箭头函数不会创建自己的this, 所以它没有自己的this,它只会在自己作用域的上一层继承this。所以箭头函数中this的指向在它在定义时已经确定了,之后不会改变。

普通函数中this指向的9大场景:

函数的调用方式

this指向

对象.函数( )

对象

函数( )

window

IIFE 立即执行函数

window

定时器

window

DOM事件处理函数

添加事件监听的元素

数组[下标 ]( )

数组

call(对象,arg1,arg2)

对象

apply(对象,arry)

对象

new 函数()

对象的实例

9大场景对应的案例代码,太多放不下,需要粉丝群获取。

箭头函数中this指向

箭头函数不会创建自己的this, 所以它没有自己的this,它只会在自己作用域的上一层继承this。所以箭头函数中this的指向在它在定义时已经确定了,之后不会改变。

<divid="box">

懵懂先生