今天本来运行了打算这样的方法
arguments.shift()
(shift方法是删除数组的第一个元素,例如var arr=[1,2,3,4,5]执行var a=arr.shift();之后,a的值为1,arr的值为[2,3,4,5]。)
参考w3cschool:http://www.w3school.com.cn/jsref/jsref_shift.asp
在IDEA中居然还有这样的代码提示
结果抛出了这样的异常
原来是arguments不是真正的数组,不支持shift,
不过我们可以从支持shift方法的Array对象上“借用”shift方法。
具体实现代码如下:
Array.prototype.shift.apply(arguments)
这里用apply改变了shift方法中的this指针,这样让argument也支持了shift
时间: 2024-10-13 21:18:27