2025年10月20日 星期一

關於修改 'arguments' 變數

 關於修改 'arguments' 變數 

前言

  在之前的 關於 Function 的 'arguments' 變數 提及了 'arguments' 變數 ,最近發現它遽然可以被賦值!賦值是什麼意思?在此把學習的過程做個紀錄。


內容

  範例如下

function call( arg ){
  console.log( arg );//1
  console.log( arguments[ 0 ] );//1
  //
  arguments[ 0 ] = 99;
  console.log( arg );//99
  console.log( arguments[ 0 ] );//99
  //
  arg = 9999;
  console.log( arg );//9999
  console.log( arguments[ 0 ] );//9999
}
//
call(1);


 'arguments' 變數是可以賦值的!賦值後連原本的變數也會跟著改變,對著 'arguments' 變數賦值 99 後,不論是 'arguments' 變數或是對應的引數都隨之改變,對著引數賦值 9999 ,引數與  'arguments' 變數也是憶起改變的。雖然我從不對引數賦值,本以為這個行為應該會報錯,但事實是這個行為是允許的。


參考資料

[ developer.mozilla.org ] The arguments object


相關文章與資料

關於 Function 的 'arguments' 變數

沒有留言:

張貼留言