關於 Function 的 'arguments' 變數
前言
Function 裡有個特別的變數 'arguments' ,該變數儲存了所有傳進 Function 的引數,由於以前我很少用它,所以最近發現它和我想得有些不一樣,在此把學習的過程做個紀錄。
內容
範例如下
function call(){ console.log( arguments.length ); }; call();//0 call( 1234 );//1 // function showArgs( a , b){ console.log( `${a}_${b}` ); }; showArgs(1);//1_undefined
範例開頭透過 call() 來測試如果傳入引數的數量大於宣告的引數數量時的狀況,結果和我想的不一樣,本以為會報錯,但事實上是不會報錯,而且 'arguments' 能正確取得多出來的引數,接著透過 showArgs() 測試當引數數量少於宣告數量時的狀況,結果也不會報錯,只是少傳的引數會是 undefined 而已。結論,不論引數是多傳或少傳,JavaScript 都不會報錯,宣告的引數比較像是給人看引數期望如何被傳入。
沒有留言:
張貼留言