function f1(i1, i2) {
log(i1);
log(i2);
}
function f2(i1,i2){
f1(arguments);
}
f2(100,200);
在上面的函数f1中,i1得到[100,200],而i2未定义。
从f2传递参数到f1的正确方法是什么。
答案 0 :(得分:7)
答案 1 :(得分:0)
对于这种确切的情况:
function f2(i1,i2){ f1(i1, i2); }
对于任意数量的参数,请参阅某些答案
答案 2 :(得分:0)
如果必须使用arguments
对象:
function f2(i1, i2) {
f1(arguments[0], arguments[1]);
}
我真的很想知道你为什么不直接传递i1和i2,但我会给你怀疑的好处,并假设这个代码比你的真实代码简单得多。< / p>
答案 3 :(得分:0)
我不明白你的问题,如果你这样做会有效:
<script>
function f1(i1, i2) { alert(i1+","+i2); log(i1); log(i2); }
function f2(i1,i2){ f1(i1,i2); }
f2(100,200);
</script>
答案 4 :(得分:0)
f1不是return
任何结果。即使它确实如此,您也需要返回一个数组来返回多个值。
function f1(i1, i2) {
var returnArray = new Array();
var returnArray[0] = log(i1);
var returnArray[1] = log(i2);
return returnArray;
}
function f2(i1,i2) {
var results = f1(i1, i2);
}
f2(100,200);
答案 5 :(得分:-1)
为什么不这样做:
function f2(i1,i2){ f1(i1,i2); }