javascript - 定义一个已放入 Javascript 函数参数中的变量

标签 javascript function variables console

我正在尝试定义一个在函数参数中选择的变量,但它不会更改我在参数中使用的变量。

我的代码:

var x = "nothing yet!";

function changeValue(variable) {
    variable = "x";
}

changeValue(x);
console.log(x);

当我通过控制台运行它时,它只是显示“还没有!”当我希望它显示为“x”时。

任何解决此问题的帮助都会非常有帮助。

最佳答案

在 JavaScript 中 strings are primitive value types 。您无法在这样的函数中更改它们。

它们也是不可变的。更改示例中的字符串就像更改数字 2 :)

要强调的是,对于 JavaScript - 你正在做的事情有点像:

function makeTwoThree(two){
    two = 3;
}
var two = 2;
makeTwoThree(two); // two is passed by value since it's a value type.

您应该返回它:

function changeValue(variable) {
    return "x";
}
variable = changeValue(variable);

或者,您可以将其包装在一个对象中并传递该对象,这将允许您更改引用。但是,请记住,您不是在此处更改字符串,而是替换它。

关于javascript - 定义一个已放入 Javascript 函数参数中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20927354/

相关文章:

javascript - lit-translate - get() 不返回键的值

JavaScript style.display 在 Qualtrics 中没有响应

javascript - 比较 JavaScript 中的嵌套对象并返回键相等性

javascript - 类型错误:mitsukuApi.send 不是函数

php - 如何在函数调用中跳过可选参数?

PHP - 从 POST 变量中删除撇号

javascript - 仅使用 Javascript,如何防止输出禁用的表单元素?

PHP JSON 解码(带方括号)

javascript - 将 json 存储为变量以便在另一个函数中重用

java - 有没有办法查看发送到 Java 方法中的参数值?