我是 Javascript 新手,所以请原谅基本问题。
我正在研究“面向 Web 开发人员的专业 Javascript”,在第 3 章“理解参数”部分,它讨论了使用 arguments[] 关键字访问函数参数。
其中一个示例表明您可以修改 arguments[] 中的值:
function twoNums(num1, num2) {
arguments[1] = 10;
console.log(arguments[0] + num2);
}
twoNums(4,8); output = 14
但它继续说“这种效果只有一种方式:更改命名参数不会导致参数中相应值的更改。”
但是,将代码更改为:
function twoNums(num1, num2) {
num2 = 10;
console.log(arguments[0] + arguments[1]);
}
twoNums(4,8); output = 14
产生相同的输出,因此“arguments[1]”中的值肯定会发生变化。
这是:
- 书中有错误?
- 我的理解有误?
- 自本书写作以来,Javascript 发生了哪些变化?
谢谢,
尼尔
回答:答案的组合解决了我的问题。感谢大家。