箭头函数 =>

本文深入探讨了JavaScript中的箭头函数,包括其声明方式、特点及与其他函数的区别。箭头函数的this值保持不变,适用于非构造函数场景。此外,文章还提及了rest参数与arguments的区别,并通过示例说明了它们的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

箭头函数声明

// 声明:
let fun = (a, b) => {
	return a + b;
}
// 调用
fun(1, 2) // 3

特点

  1. 箭头函数 this 指向声明时所在作用域下 this 的值,不会改变
function getNum1 () {
	console.log(this.number);
}
let getNum2 =  () =>  {
	console.log(this.number);  
}
var number = 1;
var obj= {
	number: 2
}
getNum1()   //   1
getNum2()   //   1

getNum1.call(obj)   //   2
getNum2.call(obj)   //  1  由于箭头的this指向 getNum2所在的区域,全局作用域中,所以始终输出 1
  1. 如果形参只有一个,则小括号可以省略
  2. 函数体如果只有一条语句,则花括号可以省略,函数的返回值为该条语句的
let fun = num => num / 100 + '元';
  1. 箭头函数不能作为构造函数,不能被实例化(会报错)
let Person = (name, age) => {
	this.name = name;
	this.age = age;
}
let person1 = new Person('张三', 18);
console.log(person1)  //  Uncaught TypeError: Person is not a construtor
  1. 不能使用 arguments,(引用了rest 参数,形式为…变量名,用于获取函数的剩余参数,用来代替 arguments)
    区别:arguments 是一个对象
    rest是一个数组,可以对参数进行filter、map等操作,注意:rest 参数必须是最后一个形参
// 例如
// arguments 参数
function test (arguments) {
	return Array.prototype.slice.call(arguments).sort();
}
// rest 参数
const sortNumbers = (...numbers) => numbers.sort();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值