提问人:user1138 提问时间:11/4/2023 最后编辑:user1138 更新时间:11/4/2023 访问量:54
传递 AND 更改函数中的变量 [duplicate]
Passing AND Changing a Variable in a Function [duplicate]
问:
这一定是最基本的问题。也许今晚我的大脑陷入了 1990 年代初的 Pascal 和 C 近视,但为什么这个值没有被传递回下面?如果我完全删除参数并在函数中将“str”更改为“name”(使其成为全局变量),那么它就可以工作了。
- 是否有可能这样做,如果是这样,我该如何传递这样的变量?
我会在这里将 JS 与什么语言语法混淆?提前感谢您的教育。:)
var name = 'Jean-Luc';
function change(str) {
str = 'Wesley';
}
change(name);
console.log(name); // returns Jean-Luc
// why is it not Wesley?
答:
1赞
steveross
11/4/2023
#1
使用 C/C++,您可以通过将地址传递给函数或使用函数内部的引用来更改值。 但是,你不能通过传递自身来更改值,尽管在 C 中。 它类似于 Javascript。 如果你发送对象,而不是变量,也许你可以改变它。但不是标量变量。
let g_name = { name: "Jean-Luc" };
function change(str) {
str.name = "Wesley";
}
change(g_name);
console.log(g_name);
评论