我刚刚学会了convention for popping off the first element of the arguments
array(我也学到了Object
)。现在我需要做相反的事情。我需要使用unshift
操作将值添加到arguments
数组的开头(或Object
,就像数组一样)。这可能吗?我试过了:
Array.prototype.unshift.apply('hello', arguments);
这对arguments
无效。
答案 0 :(得分:19)
使用.call()
代替.apply()
来调用unshift()
将arguments
设为this
unshift()
值
将'hello'
设置为unshift()
Array.prototype.unshift.call(arguments, 'hello');
正如@lonesomeday指出的那样,您可以使用.apply()
而不是.call()
,但是您需要传递类似数组的参数作为第二个参数。因此,在您的情况下,您需要将'hello'
包装在数组中。