这是我的代码:
var something = false;
myFunction(something);
function myFunction(x) {
x = true;
}
它不起作用,布尔值仍然是假的。 我需要改变什么才能起作用?
答案 0 :(得分:1)
您正在按值传递x而不是引用。 请阅读http://snook.ca/archives/javascript/javascript_pass
答案 1 :(得分:0)
确实如此,您将x设置为true,但仅限于该范围。
答案 2 :(得分:0)
您只在函数范围内更改x而不是它指向的内容。 您可以通过返回x并将其设置为某些内容来完成此操作。
var something = false;
something = myFunction(something);
function myFunction(x) {
x = true;
return x;
}
console.log(something)
这将是真的。