更改函数中的布尔值不起作用

时间:2015-05-04 18:36:23

标签: javascript boolean

这是我的代码:

var something = false; 
myFunction(something);    
function myFunction(x) {
    x = true;
}

它不起作用,布尔值仍然是假的。 我需要改变什么才能起作用?

3 个答案:

答案 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)

这将是真的。