首页 > 编程语言 > 详细

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

时间:2016-03-30 01:25:34      阅读:193      评论:0      收藏:0      [点我收藏+]

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

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问题谈方法“借用”

原文:http://www.cnblogs.com/xcr1234/p/5335446.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!