我已经找到了一些简单的if else检查
var IsCompanyContacttitleUpdate = false;
var ContactStatus = -1;
if ((IsCompanyContacttitleUpdate == false) && (ContactStatus == 2 || 3 || 4))
{
alert('inside if');
}
else if (IsCompanyContacttitleUpdate == false && ContactStatus == 2) {
alert('inside else if');
}
else {
alert('yup yup else');
}
在这种情况下,我希望执行else部分。但它没有解雇。请帮我解决这个...提前谢谢 请看小提琴 http://jsfiddle.net/vuHYn/1/
答案 0 :(得分:6)
此ContactStatus == 2 || 3 || 4
无效(可能无效不是正确的单词,为了更准确,让我们说它没有按照您的想法行事)
对于您的方案,您需要使用
ContactStatus == 2 || ContactStatus == 3 || ContactStatus == 4
您的代码可以转换为
ContactStatus == 2 || true || true
这总是如此。
答案 1 :(得分:0)
问题是(ContactStatus == 2 || 3 || 4)
正确的方法应该是(ContactStatus == 2 || ContactStatus == 3 || ContactStatus == 4)
答案 2 :(得分:0)
(ContactStatus == 2 || 3 || 4))
这是你的问题。你是说ContactStatus
等于2,它是真的,或者是真或者是真的。
False = 0,True不是0。
您需要将其重写为:
(ContactStatus == 2 || ContactStatus == 3 || ContactStatus == 4))
如果你改变那件事,它应该有用
答案 3 :(得分:0)
这会有用吗?我将if条件从(ContactStatus == 2 || 3 || 4)改为((ContactStatus == 2)||(ContactStatus == 3)||(ContactStatus == 4))。
(ContactStatus == 2 || 3 || 4)评估(ContactStatus == 2);因为它是真的,它评估3作为一个条件。由于3与0(零)不同,因此结果为真;并且整个OR评估为真。最终结果是整个if条件为真并且选择了“then”分支。
var IsCompanyContacttitleUpdate = false;
var ContactStatus = 6;
if ((IsCompanyContacttitleUpdate == false) && ((ContactStatus == 2) || (ContactStatus == 3) || (ContactStatus == 4)))
{
alert('inside if')
} else if (IsCompanyContacttitleUpdate == false && ContactStatus == 2) {
alert('inside else if')
} else {
alert('yup yup else');
}