如何否定 JS 中的 bool 内部函数?

ada*_*dam 6 javascript boolean negate

我现在正在编写一些脚本,但在尝试否定函数内的布尔值时遇到了问题。我的意思是:

var test = true;

function changeThisBoolPlease(asd){
  asd=!asd;
}

alert(test);
  changeThisBoolPlease(test);
alert(test);
Run Code Online (Sandbox Code Playgroud)

警报为真,然后为真。

有任何想法吗?JS 引用不是很完美吗?

编辑:

好的,这只是我功能的一部分:

function przesun(kolor, figury, castlings, x1, y1, x2, y2, strona) {
    kolor = nowaPozycjaKolor(kolor,x1, y1, x2, y2);
    figury = nowaPozycjaFigur(figury,x1, y1, x2, y2);
    strona = !strona;
}
Run Code Online (Sandbox Code Playgroud)

实际上我不能返回这个值。如何?

Ada*_*sko 2

对象不是通过引用传递,而是通过值传递,即引用(引用的副本)...

在您的示例中,您甚至没有传递对象,而是传递原始值类型。

如果您想要一个引用,那么您需要将其包装在对象元素中,例如:

var test = { val: true };

function changeThisBoolPlease(asd){
    asd.val=!asd.val;
}

alert(test.val);
changeThisBoolPlease(test);
alert(test.val);
Run Code Online (Sandbox Code Playgroud)