javascript if语句没有按预期评估
问题描述:
为什么我的“C”条件转到'else'语句?,他们分开去了'if'语句,但是一起工作。javascript if语句没有按预期评估
var objTest = {
ID : "10"
};
//A: First Condition: Exist value in property ID
console.log((objTest.ID ? 'if' : 'else')); // output => "if"
//B: Second Condition: Value different from "0"
console.log((objTest.ID != "0" ? 'if' : 'else')); // output => "if"
//C: First and Second Condition together must be "if"
console.log((objTest.ID & objTest.ID != "0" ? 'if' : 'else')); // output => "else"
答
你的问题是,你使用了错误的AND
opernator,你需要使用&&
而不是&
:
console.log((objTest.ID && objTest.ID != "0" ? 'if' : 'else'));
第一&
是位运算符和&&
是逻辑运算符。
请查看What's the difference between & and && in JavaScript?了解更多详情。
+0
谢谢!!那是错误!抱歉!我只需要其他程序员的眼睛 –
+0
@CarlosDominguez这种混乱总是发生;) –
'&'和'&&' – Pointy
之间有很大的区别另外请注意,这里并没有包含真正的if语句。 – Pointy
你比我快 –