2025年10月13日 星期一

關於 Function 的 'arguments' 變數

 關於 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 都不會報錯,宣告的引數比較像是給人看引數期望如何被傳入。


參考資料

[ developer.mozilla.org ] The arguments object

沒有留言:

張貼留言