function f1(i1, i2) {
log(i1);
log(i2);
}
function f2(i1,i2){
f1(arguments);
}
f2(100,200);
在上述函數f1的情況下,i1獲取[100,200],而i2未定義。JavaScript如何傳遞參數
從f2向f1傳遞參數的正確方法是什麼?
function f1(i1, i2) {
log(i1);
log(i2);
}
function f2(i1,i2){
f1(arguments);
}
f2(100,200);
在上述函數f1的情況下,i1獲取[100,200],而i2未定義。JavaScript如何傳遞參數
從f2向f1傳遞參數的正確方法是什麼?
爲什麼不只是做:
function f2(i1,i2){ f1(i1,i2); }
?
對於這種精確的情況:
function f2(i1,i2){ f1(i1, i2); }
對於任何數量的參數,見某事的答案
如果必須使用arguments
對象:
function f2(i1, i2) {
f1(arguments[0], arguments[1]);
}
我真的想知道爲什麼你不直接通過i1和i2,但我會給你懷疑的好處,並假設爲目的o f這個代碼比你真實的代碼簡單得多。
使用'arguments'的全部目的是讓參數的個數可以變化。 – 2010-02-18 16:57:13
我不明白你的問題,如果你這樣做,將工作:
<script>
function f1(i1, i2) { alert(i1+","+i2); log(i1); log(i2); }
function f2(i1,i2){ f1(i1,i2); }
f2(100,200);
</script>
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);
我正在學習JavaScript,所以答案必須是使用參數,而不是直接傳遞值。 – 2010-02-18 16:59:38