【发布时间】:2016-01-27 16:35:06
【问题描述】:
我正在学习 .apply 和 arguments,我有一个问题 - 我可以 fn.apply 和 arguments 还是我必须先将 arguments 转换为 Array?
我创建的这个代码示例表明我可以只使用apply 和arguments:
function aaa () {
bbb.apply(undefined, arguments)
}
function bbb () {
console.dir(arguments)
}
aaa(1,2,3,4) // calls bbb and bbb's arguments are 1, 2, 3, 4
我也可以将参数转换为数组,它也可以:
function aaa () {
var args = Array.prototype.slice.call(arguments);
bbb.apply(undefined, args)
}
function bbb () {
console.dir(arguments)
}
aaa(1,2,3,4) // calls bbb and bbb's arguments are 1, 2, 3, 4
我应该使用一个还是另一个,有什么区别吗?
【问题讨论】:
-
不需要转成数组,可以直接使用
arguments
标签: javascript arrays arguments