2017-11-10 148 views
2

为什么我的“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" 
+5

'&'和'&&' – Pointy

+1

之间有很大的区别另外请注意,这里并没有包含真正的if语句。 – Pointy

+0

你比我快 –

回答

2

你的问题是,你使用了错误的AND opernator,你需要使用&&而不是&

console.log((objTest.ID && objTest.ID != "0" ? 'if' : 'else')); 

第一&是位运算符和&&是逻辑运算符。

请查看What's the difference between & and && in JavaScript?了解更多详情。

+0

谢谢!!那是错误!抱歉!我只需要其他程序员的眼睛 –

+0

@CarlosDominguez这种混乱总是发生;) –