//自动更新
//arguments对象为其内部属性以及函数形式参数创建getter和setter方法
//因此,改变形参的值会影响到arguments对象的值,反之亦然。
function changeArgument(arr){
arr[0] = arr[2];//10,1,10
}
function change(a,b,c){
c = 10;//1,1,10
changeArgument(arguments);
return a + b + c;
}
console.log('change results: %s',change(1,1,1));//change results: 21
function f(a){
//当在严格模式下,不会创建getter和setter方法
"use strict";
a = 42;
return [a,arguments[0]];//[42,17]
}
var pair = f(17);
console.log(pair);// [42, 17]
console.log(pair[0] === 42);//true
console.log(pair[1] === 17);//true