關於修改 '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
沒有留言:
張貼留言