手写apply实现
apply
与 call
不同是传递的 args
,apply
为数组的形式。
有了上一篇中介绍的 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;
}
如果您觉得本文对您有用,欢迎捐赠或留言~
- 本博客所有文章除特别声明外,均可转载和分享,转载请注明出处!
- 本文地址:https://www.leevii.com/?p=3069