这个参数是否需要用javascript返回?

这个参数是否需要用javascript返回?,javascript,Javascript,我在阅读第一本js书时遇到了一个问题 在控制台上,当它应该是8时,它仍然显示为7?这在书中,所以我猜我只是缺少一些基本的东西 var年龄=7岁; 函数addOne(x){ x=x+1; } addOne(年龄); 控制台日志(年龄)简单地解释道:随着年龄的增长,你不会做任何事情。在你的函数中,你把一个加到7中,然后把它作为8存储到x中,在函数被处理后,你打印出仍然是7的年龄 回答您的问题:返回参数x将使您返回8。所以 var age = 7; function addOne(x)

我在阅读第一本js书时遇到了一个问题

在控制台上,当它应该是8时,它仍然显示为7?这在书中,所以我猜我只是缺少一些基本的东西

var年龄=7岁;
函数addOne(x){
x=x+1;
}
addOne(年龄);

控制台日志(年龄)简单地解释道:随着年龄的增长,你不会做任何事情。在你的函数中,你把一个加到7中,然后把它作为8存储到x中,在函数被处理后,你打印出仍然是7的年龄

回答您的问题:返回参数x将使您返回8。所以

   var age = 7;

   function addOne(x) {
    x = x + 1;
    return x;
   }
   console.log(addOne(age));`

应该对你有用。

简单的解释是:随着年龄的增长,你不会做任何事情。在你的函数中,你把一个加到7中,然后把它作为8存储到x中,在函数被处理后,你打印出仍然是7的年龄

回答您的问题:返回参数x将使您返回8。所以

   var age = 7;

   function addOne(x) {
    x = x + 1;
    return x;
   }
   console.log(addOne(age));`


应该对你有用。

7是正确答案。。。这本书是错的。数字不是通过引用传递的,。如果将年龄作为对象文字的一部分,它将起作用,因为对象是通过引用传递的。有两个例子,另一个是:当调用
addOne
时,
x
获得与
age
相同的值,这就是它们的关系结束的地方。从那里,您有两个变量,
x=7
age=7
,然后将
x
设置为
8
,然后函数返回并停止存在<代码>年龄
一直保持不变。啊,谢谢基思,我想我在这里有点超前了。这可能会在本书后面更清楚地解释这一点。返回那个值对我来说是有意义的,但现在我发现情况并非如此。我明白了,我只是在x的函数中记录了console.log,结果是8。谢谢7是正确的答案。。。这本书是错的。数字不是通过引用传递的,。如果将年龄作为对象文字的一部分,它将起作用,因为对象是通过引用传递的。有两个例子,另一个是:当调用
addOne
时,
x
获得与
age
相同的值,这就是它们的关系结束的地方。从那里,您有两个变量,
x=7
age=7
,然后将
x
设置为
8
,然后函数返回并停止存在<代码>年龄一直保持不变。啊,谢谢基思,我想我在这里有点超前了。这可能会在本书后面更清楚地解释这一点。返回那个值对我来说是有意义的,但现在我发现情况并非如此。我明白了,我只是在x的函数中记录了console.log,结果是8。谢谢你好,看起来像你的新朋友。欢迎来到SO。只是提醒一下,你应该可以修改你原来的答案,这比回答你自己的答案更容易混淆。谢谢@Keith。你完全正确。修正了。全局变量在哪里?@Ryan如果在模块外运行,则
var age=7
将是全局变量。@Keith:啊,是的,对不起-我是想问一下
x
(“虽然使用x作为全局变量…”)嗨@sho,看起来像你的新代码。欢迎来到SO。只是提醒一下,你应该可以修改你原来的答案,这比回答你自己的答案更容易混淆。谢谢@Keith。你完全正确。修正了。全局变量在哪里?@Ryan如果在模块外运行,则
var age=7
将是全局变量@Keith:啊,是的,对不起–我是想问关于
x
(“尽管使用x作为全局变量…”)