美文网首页
箭头函数(优化函数写法)

箭头函数(优化函数写法)

作者: 似朝朝我心 | 来源:发表于2020-09-12 09:04 被阅读0次

1.声明式函数。



没有赋值,不能优化了。

2.函数表达式。

原型:
(1)优化:去掉function关键字,在小括号和大括号中间加上箭头。

箭头左边是参数(),右边是方法体{大括号包着的就叫方法体}



(2)优化:当方法体内部只有一行代码时,连大括号也不需要,return也不需要。

箭头函数标准写法:

(1)无参数
(2)2个参数

(3)1个参数时,小括号都可以省了。


我们来实现一个点击按钮的效果。




补充:addEventListener()事件可以监听到用户点击了多少次。


image.png
普通函数下this指向当前对象

接下来让我们来优化函数代码,让其变成箭头函数。



看下效果:



哦嚯!为什么报错了?
这是因为this指向对于当前对象的引用,在箭头函数里面,是没有this指向的。

所以箭头函数有特定的适用场景,并不是任何场景都可以使用箭头函数去优化代码,箭头函数里面的this指向跟普通函数的this指向是不同的。

(1)把箭头函数作为事件的回调函数去写,this指向不是再是当前对象,而是window




(2)我们来做个判断就知道了。




所以箭头函数里面的this指向真的是指到顶层window当中去的。

案例:对象中的属性和方法,如何优雅地使用箭头函数。
原型:




(1)使用箭头函数优化后:




依旧是同样一种情况,箭头函数不要使用this指向。

因为箭头函数里面的this指向是window.

注意这里有一个巧合,window下面有一个默认的name属性的,我们将其展开看看,找到它。



所以我们不要在对象里面使用name(当你使用了箭头函数)
所以我们的原型要修改下:

(2)继续优化:关于ES6对象的简写形式,对于对象中的方法可以将其冒号去掉,function关键字可以去掉。
前后对比以下:

应用场景3

原型:

在普通函数下,控制台可以返回arguments.
(1)修改成箭头函数后。




这报错是说:箭头函数里面不能使用ararguments

应用场景4 类,有点像构造函数和构造对象。

(1)es5写法:

(2)箭头函数写法。




报错:不能使用箭头函数作为构造函数。

拓展es6语法:模板字符串拼接,使用反引号包裹${引用的变量},取代了双引号和单引号。



(2)箭头函数下:


同理,箭头函数下,this指向永远是window对象。
经过这么多的例子,说明this指向在箭头函数里面水火不容阿,有箭头函数就不能用this了,切记。

总结:箭头函数如下几个场景不能使用this指向。

1.作为事件的回调函数不能用this指向。
2.通过箭头函数去定义对象里面的方法,不能用this指向。
3.通过箭头函数去定义的函数不能使用arguments对象。
4.箭头函数不能作为构造函数使用。
5.箭头函数不能去定义原型下面的方法。

相关文章

  • 箭头函数(优化函数写法)

    1.声明式函数。没有赋值,不能优化了。 2.函数表达式。原型:(1)优化:去掉function关键字,在小括号和大...

  • 箭头函数与普通函数的区别

    1、写法箭头函数写法简洁 ()=>{}普通函数可以作为具名函数,也可以是匿名函数2、this指向箭头函数的this...

  • 第2.4章:箭头函数

    新版写法:箭头函数 等价旧版写法:bind(this)

  • ES6箭头函数

    ES6 允许使用“箭头(=>)定义函数。箭头函数和传统的函数使用时会有一定区别,箭头函数简化了传统函数的写法,在代...

  • 关于箭头函数的一些迷惑点,包括React组件中的使用

    一、 箭头函数是匿名函数的另一种表达形式,简化写法。 转换成箭头函数就是如下的写法: 继续举例 二、关于this指...

  • 箭头函数笔记

    箭头函数的解决的问题: 缩减了代码量 改变this指向 简化方法的写法1,函数不带参数的写法:函数名=()=>函数...

  • ES6笔记:模板字符串和箭头函数

    ${变量名/表达式/有返回值的函数} 箭头函数的内容:原来的函数function(){} 箭头函数:1.写法更简单...

  • 箭头函数写法

    语法: 1、只有一个参数,可以不用写小括号: 2、没有参数,要写一个空的小括号: 4、函数体有多条语句,用大括号包...

  • 简单说 JavaScript的箭头函数

    说明箭头函数本质还是函数,我们来看看他与JavaScript中普通函数的区别,先看看写法上的区别。 写箭头函数,我...

  • ES2015 箭头函数

    箭头函数用法 传统写法: 箭头函数写法: 注意,在只有一个参数和一条执行语句时,可以简化为下面的写法: 注意事项 ...

网友评论

      本文标题:箭头函数(优化函数写法)

      本文链接:https://www.haomeiwen.com/subject/xhqiektx.html