正在牛客网做题目,遇到一个题,题目:
实现函数 callIt,调用之后满足如下条件
1、返回的结果为调用 fn 之后的结果
2、fn 的调用参数为 callIt 的第一个参数之后的全部参数
有人是这么解决的:(第一种方法能明白,为什么第二种方法是这样写的呢?shift不是返回的是被删除的第一个元素吗,为什么apply方法就只调用了,都没出现fn是怎么调用的??不是很理解 )
正在牛客网做题目,遇到一个题,题目:
实现函数 callIt,调用之后满足如下条件
1、返回的结果为调用 fn 之后的结果
2、fn 的调用参数为 callIt 的第一个参数之后的全部参数
有人是这么解决的:(第一种方法能明白,为什么第二种方法是这样写的呢?shift不是返回的是被删除的第一个元素吗,为什么apply方法就只调用了,都没出现fn是怎么调用的??不是很理解 )
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
那是
[].shift.call(a)
也就是
a.shift()
,主要是arguments
不是数组类型的,所以需要使用call
的方式将[].shift()
的this
改为arguments
,从而使argumengs
能使用shift
方法。