這段代碼中console.log(reverse(1,2,3);往reverse(arr)里面傳的是什么?
請教各位老師!
慕尼黑5595721
2019-10-11 12:48:06
TA貢獻1036條經驗 獲得超461個贊
reverse(1,2,3)??這樣傳過云參數?當然就是1?2?3?三個參數了,??你方法定義時只接收第一個參數, 所以就只能接收到1。??方法里的?arr?===?1; 如果你想傳多個數字不傳數組??你可以這樣寫
//這里不接收參數?直接使用arguments?來獲取參數?arguments是function里的內部變量,可以直接使用
function?reverse()?{
????var?newArr?=?[];
????for(var?i=?arguments.length-1;?i>=0?;?i--){
????????newArr[newArr.length]?=?arguments[i];
????}
????return?newArr;
}
console.log(reverse(1,2,3));如果你想兼容多種傳參? 就需要通過 arguments 來判斷傳入的參數類型 來做不同的處理
舉報