📜  JavaScript Reflect apply()方法(1)

📅  最后修改于: 2023-12-03 15:16:06.637000             🧑  作者: Mango

JavaScript Reflect apply()方法

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()方法是另一种调用函数的方法,相较于直接调用函数,它可以更加灵活,支持动态的函数和参数传递。