js函数零基础入门(原来这就是JS箭头函数)
js函数零基础入门(原来这就是JS箭头函数)在箭头函数出现之前,每个新定义的函数都有它自己的 this值(在构造函数的情况下是一个新对象,在严格模式的函数调用中为 undefined,如果该函数被作为“对象方法”调用则为基础对象等)。不绑定this高级语法引入箭头函数有两个方面的作用:更简短的函数并且不绑定this。更短的函数
箭头函数表达式的语法比函数表达式更短,并且没有自己的this、arguments、super或 new.target。这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数。
语法基础语法
基础语法
高级语法
高级语法
描述引入箭头函数有两个方面的作用:更简短的函数并且不绑定this。
更短的函数
不绑定this
在箭头函数出现之前,每个新定义的函数都有它自己的 this值(在构造函数的情况下是一个新对象,在严格模式的函数调用中为 undefined,如果该函数被作为“对象方法”调用则为基础对象等)。
在ECMAScript 3/5中,通过将this值分配给封闭的变量,可以解决this问题。
或者,可以创建绑定函数,以便将预先分配的this值传递到绑定的目标函数(上述示例中的growUp()函数)。
箭头函数不会创建自己的this 它只会从自己的作用域链的上一层继承this。因此,在下面的代码中,传递给setInterval的函数内的this与封闭函数中的this值相同:
与严格模式的关系
鉴于 this 是词法层面上的,严格模式中与 this 相关的规则都将被忽略。
通过 call 或 apply 调用
由于 箭头函数没有自己的this指针,通过 call() 或 apply() 方法调用一个函数时,只能传递参数(不能绑定this),他们的第一个参数会被忽略。(这种现象对于bind方法同样成立)
编程是一种修行,我愿与志同道合的朋友携手前行,一起探索有关编程的奥妙!
如果您在前端学习的过程中遇到难题,欢迎【关注】并【私信】我,大家一起交流解决!
文章推荐:
不一样的JS函数总结,适合前端初学者的JavaScript函数代码
JS函数声明和函数表达式的定义及其区别——超详讲解,值得拥有