原来这就是JS箭头函数!适合新手入门的前端JavaScript代码(上)

箭头函数表达式的语法比函数表达式更短,并且没有自己的this、arguments、super或 new.target。这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数。

语法

基础语法

原来这就是JS箭头函数!适合新手入门的前端JavaScript代码(上)

基础语法

高级语法

原来这就是JS箭头函数!适合新手入门的前端JavaScript代码(上)

高级语法

描述

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

更短的函数

原来这就是JS箭头函数!适合新手入门的前端JavaScript代码(上)

不绑定this

在箭头函数出现之前,每个新定义的函数都有它自己的 this值(在构造函数的情况下是一个新对象,在严格模式的函数调用中为 undefined,如果该函数被作为“对象方法”调用则为基础对象等)。

原来这就是JS箭头函数!适合新手入门的前端JavaScript代码(上)

在ECMAScript 3/5中,通过将this值分配给封闭的变量,可以解决this问题。

原来这就是JS箭头函数!适合新手入门的前端JavaScript代码(上)

或者,可以创建绑定函数,以便将预先分配的this值传递到绑定的目标函数(上述示例中的growUp()函数)。

箭头函数不会创建自己的this,它只会从自己的作用域链的上一层继承this。因此,在下面的代码中,传递给setInterval的函数内的this与封闭函数中的this值相同:

原来这就是JS箭头函数!适合新手入门的前端JavaScript代码(上)

与严格模式的关系

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

原来这就是JS箭头函数!适合新手入门的前端JavaScript代码(上)

通过 call 或 apply 调用

由于 箭头函数没有自己的this指针,通过 call() 或 apply() 方法调用一个函数时,只能传递参数(不能绑定this),他们的第一个参数会被忽略。(这种现象对于bind方法同样成立)

原来这就是JS箭头函数!适合新手入门的前端JavaScript代码(上)

编程是一种修行,我愿与志同道合的朋友携手前行,一起探索有关编程的奥妙!

如果您在前端学习的过程中遇到难题,欢迎【关注】并【私信】我,大家一起交流解决!

文章推荐:


分享到:


相關文章: