Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 或逻辑运算符的正确加法_Javascript_Checkbox_Logical Operators - Fatal编程技术网

Javascript 或逻辑运算符的正确加法

Javascript 或逻辑运算符的正确加法,javascript,checkbox,logical-operators,Javascript,Checkbox,Logical Operators,我使用脚本通过复选框输入音符选择(C、C#等),以查找和弦的名称。它有一个八度音阶,工作非常完美 我有12个复选框,以以下字符串为例: if ( cb[0].checked == true && cb[1].checked == false && cb[2].checked == false && cb[3].checked == false && cb[4].checked == true

我使用脚本通过复选框输入音符选择(C、C#等),以查找和弦的名称。它有一个八度音阶,工作非常完美

我有12个复选框,以以下字符串为例:

if (
    cb[0].checked == true
    && cb[1].checked == false
    && cb[2].checked == false
    && cb[3].checked == false
    && cb[4].checked == true
    && cb[5].checked == false
    && cb[6].checked == false
    && cb[7].checked == true
    && cb[8].checked == false
    && cb[9].checked == false
    && cb[10].checked == false
    && cb[11].checked == false
) {
    alert('C');
}
当勾选框C0、C4和C7时,这可以正常工作,当然,当勾选任何其他组合时,情况并非如此

现在,我想再加一个八度。我添加了一个第13个框(C12)作为C0的可选选项

我尝试添加
|
操作符,如下所示:

if(cb[0].checked==true||cb[12]==true&&cb[1].checked==false...
但这不起作用

奇怪的是,只需将框C12添加到页面中而根本不更改脚本字符串,当我选择框C12、C4和C7时,就会得到结果警报“G”♯/A.♭m',我应该只得到这个字符串:

else if (
    cb[8].checked == true
    && cb[9].checked == false
    && cb[10].checked == false
    && cb[11].checked == true
    && cb[0].checked == false
    && cb[1].checked == false
    && cb[2].checked == false
    && cb[3].checked == true
    && cb[4].checked == false
    && cb[5].checked == false
    && cb[6].checked == false
    && cb[7].checked == false
) {
    alert('G♯/A♭m');
}
我不明白,因为该字符串不包含cb[12],并且只包含3个所需的
true
复选框中的2个

有没有正确的方法可以添加这个
|cb[12]==true
线程,以便C0或C12得到相同的结果


谢谢你阅读这个长问题!非常感谢您的建议。

&&
是到
|
就像
*
是到
+
一样-您必须适当地插入括号感谢您提供的信息。。。但是你介意让我知道这个例子中合适的括号吗?我试过了:if((cb[0]。checked==true | | cb[12]。checked==true)和&cb[1]。checked==false……)但我真的不知道我在这里做什么。事实上,这确实有效(我第一次犯了一个错误),所以非常感谢@Pointy的帮助。