JavaScript中箭头函数和用法是什么,怎样应用?
Admin 2022-01-26 群英技术资讯 934 次浏览
这篇文章我们来了解JavaScript中箭头函数的内容,下文介绍了什么是箭头函数,箭头函数的使用及不适用的场景等等,文中介绍很详细,有需要的朋友可以参考,感兴趣的朋友接下来就跟随小编来了解看看吧!

箭头函数表达式语法比函数表达式更简洁,即函数的一种简化形式。
它的写法:
() => {}; // 可以用来写一个匿名函数它的结构:
const / let 函数名 参数 => 函数体
比如现在有一个一般形式的函数表达式
let add = function(x, y) {
return x + y;};可以用箭头函数来写:
let add = (x, y) => {
return x + y;}; // 对于单个参数,我们可以省略外面的圆括号let addOne = x => {
return x + 1;}
// 对于单行返回函数体,可以同时省略 {} 和 returnlet add (x, y) => x + y;
// 对于返回单行对象,在外面加个 ()let add (x, y) => ({
value: x + y;}); 箭头函数没有 this,它会根据作用域链在外层中寻找 this。
举个例子:
var A = 1;let fun = {
A: 2,
printA: () => {
console.log(this.A);
},
printAA: function() {
let print = () => {
console.log(this.A);
}
print();
}};fun.printA(); // 1fun.printAA(); // 2 调用 printA,里面是输出 this.A,由于箭头函数没有 this,所以在外层寻找,外层是 fun。在这里,fun.printA()是在全局作用域中调用的,所以外层的 this 指向的是 window,由于之前用 var 定义了一个 A = 1,所以输出的是 1。
调用 printAA,在里面调用了 print(),输出 this.A,看 print 这个函数,是个箭头函数,他没有 this,所以找外层,它的外层是 printAA,它是由 fun 调用的,所以它的 this 指向 fun,所以输出 fun 中定义的 A,也就是 2。
实例化构造函数之后,它的 this 指向实例化的对像,而箭头函数没有 this,所以它不能用来做构造函数。
需要 this 指向调用对象的时候
需要使用 arguments 的时候
箭头函数中没有 arguments,可以使用剩余参数来存参数。
以上就是JavaScript中箭头函数及其用法的介绍啦,有需要的朋友可以了解看看,希望对大家学习JavaScript箭头函数有帮助,想要了解更多可以继续浏览群英网络其他相关的文章。
文本转载自PHP中文网
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Nodejs和浏览器中this关键字有何不同?很多朋友对于在this关键字在Nodejs和浏览器环境下的指向问题不是很清楚,接下来通过实例代码给大家详细接下一下。
JavaScript实现音乐播放器 本文实例为大家分享了vue + element ui实现锚点定位的具体代码,供大家参考,具体内容如下 效果 HTML代码 <!--播放器--> <div id="player"> <!--播放控件--> <div id="playerControl"> <div class="playerImg"> <img src ...
vue项目或网页上实现文字转换成语音播放功能,一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
这篇文章主要介绍 React中组件的类别以及如何创建和使用组件,对新手学习React有一定的帮助,有这方面学习需要的朋友可以解决参考,接下来小编带着大家一起了解看看。
这篇文章主要介绍vue中mixin合并策略的内容,下文有详细的介绍及示例可以参考,对大家学习vue框架有一定的参考价值,需要的朋友可以了解看看,希望大家阅读完这篇文章能有所收获,接下来就跟随小编学习一下吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008