在javascript中附加到agrument对象
arguments变量返回如下对象:在javascript中附加到agrument对象,javascript,node.js,Javascript,Node.js,arguments变量返回如下对象: console.log(arguments) => { '0': 'arg1', '1': function[] } 如果我想附加它,把所有的东西都移到右边呢 { '0': 'add', '1': 'arg1', '2': function[] } 我怎样才能做到这一点?手动或使用下划线 带下划线的有用信息: oArray.toArray(列表) 从列表中创建真实数组(任何内容 可以对其进行迭代)。用于转换参数 反对 做了一些类似于: var ar
console.log(arguments)
=> { '0': 'arg1', '1': function[] }
如果我想附加它,把所有的东西都移到右边呢
{ '0': 'add', '1': 'arg1', '2': function[] }
我怎样才能做到这一点?手动或使用下划线
带下划线的有用信息:
oArray.toArray(列表)
从列表中创建真实数组(任何内容
可以对其进行迭代)。用于转换参数
反对
做了一些类似于:
var args = _.toArray(arguments)
args.unshift(fn)
您可以在参数
对象上应用:
Array.prototype.unshift.call(arguments, "add");
但是,最好不要弄乱参数
对象。与其将其转换为数组,不如在函数体中预先添加“add”
,并使用它代替参数:
var args = ["add"].concat(Array.prototype.slice.call(arguments));
var args = ["add"].concat(_.toArray(arguments));
参数
对象不是真正的数组。这是一个JS的东西。首先将其转换为数组。我想即使使用对象,它也能工作。应用。可以在8mini中接受如果它是用于一个小的助手函数,这可能是可以接受的(而且它非常简洁)。然而,我建议测试这两个版本的性能,这可能会发生。这实际上是实时MMORPG上的一种方法。我将测试性能。我使用了第二个示例。对于参数,下划线js实际上有一个..toArray