摘要:本篇文章给大家带来了JavaScript中关于箭头函数和剩余参数的相关知识,箭头函数与剩余参数都非常简洁,下面我们就一起来看一下怎样去使用,希望对大家有帮助。1. 什么是箭头函数
本篇文章给大家带来了JavaScript中关于箭头函数和剩余参数的相关知识,箭头函数与剩余参数都非常简洁,下面我们就一起来看一下怎样去使用,希望对大家有帮助。
箭头函数表达式语法比函数表达式更简洁,即函数的一种简化形式。
它的写法:
它的结构:
const / let 函数名 参数 => 函数体比如现在有一个一般形式的函数表达式
let add = function(x, y) {return x + y;};可以用箭头函数来写:
let add = (x, y) => {return 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,可以使用剩余参数来存参数。
举个例子:
let add = (x, y, z, ...args) => {console.log(x, y, z, args);};args就是剩余参数。 剩余参数是个数组,它即使没有值,也是以一个空数组形式存在。 比如:
let add = (x, y, z, ...args) => { console.log(x, y, z, args);}add(1, 2, 3);x, y, z 对应参数 1, 2, 3,由于剩余参数没有值,所以空数组形式存在。
5.2) 作用由于箭头函数没有arguments,所以我们可以使用剩余参数替代arguments获取实际参数 举个例子:
const print = (...args) => { console.log(args);};print(1, 2);【相关推荐:javascript学习教程】
相关文章推荐
网站谷歌评分90+意味着什么?2022-09-06
怎样将不安全网站变成安全网站访问?2022-09-26
网站排名下降,可能跟算法更新没关系2022-09-20
网站如何设置高质量的网页标题?2022-09-14
做外贸网站选哪些语言?法语、德语最吃香2022-09-13