If statement with (a == b && c == d || e) || a != b)
我试图在下拉列表中获取一个值,以不显示是否选择了其他值。基本上说,如果显示内部,不要显示记录类型"WF"或"记录类型"虚拟现实。但是,当为vr添加or语句时,它只会中断,它们都会出现。
1 2 3 4 5 6 7 | if((zoneLocation == 'internal' && optionObj[option].value != 'record_type_wf' || 'vanity_type_vr') || zoneLocation != 'internal'){ g_form.addOption('dns_record_type', optionObj[option].value, optionObj[option].text, optionObj[option].order); if (optionObj[option].value == currentRecordType){ keepCurrentOption = true; } } |
这并不意味着你认为它意味着什么:
1 | (zoneLocation == 'internal' && optionObj[option].value != 'record_type_wf' || 'vanity_type_vr') |
注意,
1 | (zoneLocation == 'internal') && (optionObj[option].value != 'record_type_wf') || ('vanity_type_vr') |
由于最后一个操作数,整个表达式(转换为布尔值)简化为
这就是你的意思:
1 | (zoneLocation == 'internal' && optionObj[option].value != 'record_type_wf' && optionObj[option].value != 'vanity_type_vr') |