js 箭头实现
箭头函数的基本语法
箭头函数(Arrow Function)是ES6引入的一种简化函数定义的语法。基本形式为:(参数) => {函数体}。当只有一个参数时,括号可以省略;当函数体只有一行且需要返回值时,花括号和return可以省略。
// 传统函数
function add(a, b) {
return a + b;
}
// 箭头函数
const add = (a, b) => a + b;
箭头函数的特性
箭头函数没有自己的this,它会捕获其所在上下文的this值。这意味着箭头函数内部的this与定义时的上下文一致,而非调用时的上下文。

const obj = {
value: 10,
traditionalFunc: function() {
console.log(this.value); // 输出10
},
arrowFunc: () => {
console.log(this.value); // 输出undefined(严格模式下)
}
};
箭头函数与普通函数的区别
箭头函数不能用作构造函数,不能通过new调用。箭头函数也没有arguments对象,但可以通过剩余参数(rest parameters)实现类似功能。

// 普通函数
function showArgs() {
console.log(arguments);
}
// 箭头函数
const showArgs = (...args) => console.log(args);
箭头函数的常见用途
箭头函数常用于回调函数,简化代码。例如在数组方法中:
const numbers = [1, 2, 3];
const doubled = numbers.map(num => num * 2); // [2, 4, 6]
箭头函数的注意事项
箭头函数不适合用于需要动态this的场景,比如对象方法或事件处理函数。箭头函数也不能通过bind、call或apply改变this的指向。
const button = document.querySelector('button');
button.addEventListener('click', () => {
console.log(this); // 指向全局对象(非button)
});






