作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
有没有可能做这样的事情?
function one(){
two(arguments)
}
function two(a, b){
console.log(a);
console.log(b);
}
one('a', 'b');
最佳答案
是的,使用 apply()
function one(){
two.apply(null, [].slice.call(arguments))
}
一些较旧的引擎坚持接收一个数组作为 apply()
的第二个参数。不幸的是,arguments
是一个类数组对象。也就是说,它不是真正的数组,但除了 callee
和 caller
属性外,它还具有 length
属性和数字索引。因此,我们调用 Array.slice()
以获得要传递给 apply()
的普通数组。
也就是说,如果没有这样的翻译,V8(由 node.js 使用)应该没问题:
function one(){
two.apply(null, arguments)
}
那是我的错,我错过了 node.js标签。
关于javascript - 是否可以将参数拆分为 NodeJS 中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20334608/
我是一名优秀的程序员,十分优秀!