手写apply实现

applycall 不同是传递的 argsapply 为数组的形式。

有了上一篇中介绍的 call 实现的基础,apply 的实现就容易了,直接上代码

function fnApply(fn, context, args = []) {
  context = context ? Object(context) : window;
  const symbol = Symbol();
  context[symbol] = fn;
  const result = context[symbol](...args);
  delete context[symbol];
  return result;
}
如果您觉得本文对您有用,欢迎捐赠或留言~
微信支付
支付宝

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注