關於 'arguments' 變數修改 rest parameters 的問題
前言
在先前的 關於 'arguments' 變數搭配 rest parameters 的問題 提到 rest parameters ,如果對 rest parameters 進行修改會有什麼行為?在此把學習的過程做個紀錄。
內容
範例如下
function call( ...arg ){
console.log( arguments.length);//2
//
arg[ 0 ] = 1234;
console.log( arguments[0] );//1
//
arguments[ 1 ] = 9999;
console.log( arg[1] );//2
}
//
call( 1 , 2 );
範例分別示範從 rest parameters 修改與從 'arguments' 變數修改,可以看不論是哪一個結果都不會發生一同修改的狀況!所以當採用 rest parameters 傳入引數, 'arguments' 變數採用的是複製一份 rest parameters ,而不是同一個變數。
參考資料
[ developer.mozilla.org ] Rest parameters
沒有留言:
張貼留言