-
参数和 arguments 有什么区别
2019-03-08 17:55补充一下,非严格模式下且参数传入时,参数和 arguments 双向绑定,
否则相互独立;// 非严格模式下 function a1(x) { x = 2; console.log(x, arguments[0]); } // 参数缺省 a1(); // 2 undefined // 传入参数 a1(4); // 2 2 function a2(x) { arguments[0] = 2; console.log(x, arguments[0]); } // 参数缺省 a2(); // undefined 2 // 传入参数 a2(4); // 2 2
严格模式下,都是相互独立
// 严格模式 function a3(x) { 'use strict'; arguments[0] = 2; console.log(x, arguments[0]); } // 参数缺省 a3(); // undefined 2 // 传入参数 a3(4); // 4 2 function a4(x) { 'use strict'; x = 2; console.log(x, arguments[0]); } // 参数缺省 a4(); // undefined 2 // 传入参数 a4(4); // 2 4