📅  最后修改于: 2023-12-03 15:16:06.637000             🧑  作者: Mango
Reflect.apply()是JavaScript内置对象Reflect的方法之一,用于调用函数并返回其结果。
Reflect.apply(target, thisArgument, argumentsList)
target
:要调用的目标函数。thisArgument
:调用目标函数时绑定的this对象,若为null或undefined则默认绑定全局对象。argumentsList
:一个类数组对象,表示传递给目标函数的参数列表。目标函数的返回值。
// 将数组中的每个元素乘以2
const arr = [1, 2, 3, 4, 5];
const result = arr.map(num => Reflect.apply(Math.pow, null, [num, 2]));
console.log(result);
// expected output: [1, 4, 9, 16, 25]
// 自定义一个函数,用Reflect.apply()调用
function sayHello(name) {
console.log(`Hello, ${name}!`);
}
Reflect.apply(sayHello, null, ['world']);
// expected output: "Hello, world!"
Reflect.apply()方法是另一种调用函数的方法,相较于直接调用函数,它可以更加灵活,支持动态的函数和参数传递。