如果条件与&&优先权不起作用

时间:2012-01-19 05:56:52

标签: javascript

代码:

if (!IDTextField.value && !FirstNameField.value && 
     !LastNameField.value && !DateOfBirthField.value!GenderField.value) {
    alert('No criteria Added');
    return;
}

当所有文本字段都为空时,不会调用alert

5 个答案:

答案 0 :(得分:3)

你错过了最后两个标准之间的&&

应该是:

if (!IDTextField.value && !FirstNameField.value && 
     !LastNameField.value && !DateOfBirthField.value && !GenderField.value)

在这种情况下,格式化if语句是很有意义的:

if (     !IDTextField.value   
      && !FirstNameField.value   
      && !LastNameField.value   
      && !DateOfBirthField.value    
      && !GenderField.value)

如果你这样做,你就不会犯错误。

答案 1 :(得分:2)

您应该像这样编写代码

if (!IDTextField.value && !FirstNameField.value && 
     !LastNameField.value && !DateOfBirthField.value && !GenderField.value) {
    alert('No criteria Added');
    return;
}

你错过了&&在最后两个标准之间

答案 2 :(得分:2)

xbonez做对了。你错过了&&最后两个表达式之间。

对于不太重要的事情,我希望使用||评估所有表达式,然后使用!添加否定,而不是否定所有表达式并使用&&对其进行评估。如果没有错,这可以使这个表达式更快一些。

if (!(IDTextField.value || FirstNameField.value || 
     LastNameField.value || DateOfBirthField.value || GenderField.value)) {
    alert('No criteria Added');
    return;
}

告诉我你们都在想什么?

答案 3 :(得分:1)

这可怜的是什么?

... !DateOfBirthField.value!GenderField.value

我认为应该是:

... !DateOfBirthField.value && !GenderField.value

答案 4 :(得分:1)

错过&&,添加并尝试,如果没有其他错误则应该正常工作