Javascript 返回误报的If/Else语句
在我的代码中,我有这个if/else语句来处理数字和字母都返回cont=false的情况。我试着只运行这段代码,结果是一样的。显然,它应该执行else语句中的代码。有人有什么想法吗Javascript 返回误报的If/Else语句,javascript,if-statement,Javascript,If Statement,在我的代码中,我有这个if/else语句来处理数字和字母都返回cont=false的情况。我试着只运行这段代码,结果是一样的。显然,它应该执行else语句中的代码。有人有什么想法吗 var input = prompt() if (input == null || " ") { //Cont determines whether or not to continue console.log("cont = false"); var cont = false; }else{ co
var input = prompt()
if (input == null || " ") {
//Cont determines whether or not to continue
console.log("cont = false");
var cont = false;
}else{
console.log("cont = true");
var cont = true;
}
因为这段代码不是检查一个输入和两个值的方式
if ( input == null || " " )
应该是
if (input==null || input == " ")
计算为比较结果| |。现在,由于非空字符串是一个真实值,因此它的计算结果总是真的
就评审次序而言—
添加到关于| |运算符和优先级的所有正确回答中 在大多数情况下,使用==并不是一件好事,尤其是因为0==null等-如果您要检查它是否实际为null或空字符串,那么这样做更安全:
if (input === null || input.trim() === "") {
...
这会检查类型和内容,因此不会给出误报。虽然如果输入不是字符串,它会抱怨。谢谢,太多了!作为迄今为止收到的所有答案的总结: OR运算符| |将input==null与进行比较,后者的计算结果始终为true ==比==
再次感谢所有的帮助和支持 条件| |始终为真。您应该阅读JS中的各种比较运算符及其工作原理:。建议使用===而不是==。干杯
if (input === null || input.trim() === "") {
...