Javascript——arguments的shift问题谈方法“借用”

Posted import java.*

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript——arguments的shift问题谈方法“借用”相关的知识,希望对你有一定的参考价值。

今天本来运行了打算这样的方法

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

以上是关于Javascript——arguments的shift问题谈方法“借用”的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript的arguments对象

JavaScript arguments对象

JavaScript arguments对象

JavaScript arguments对象

javascript arguments参数问题

随笔:JavaScript函数中的对象----arguments