Javascript中的条件不起作用

时间:2015-07-30 10:02:54

标签: javascript

由于JavaScript中的这些条件,我即将生气。为什么这个不起作用?

if (isNaN(first) || isNaN(second) && (act !== '-' || act !== '+'))

首先检查是数字,第二个是数字,行为是减号还是加号。数字没问题,但不检查行为是否正确。怎么了?

E.g。第一个是1,行为是a,第二个是2.它不起作用。

P.S。

我对C ++和Java有一些了解。我从来没有遇到任何问题。但是自从我开始学习Javascript以来,我犯了这么多错误。

这种表达方式有不同的系统吗?

1 个答案:

答案 0 :(得分:3)

  

首先检查是数字,第二个是数字,行为是减号还是加号。它没有数字,但它没有检查行为是否正确。

因此,对于上述要求,正确的陈述将是

if ( !isNaN(first) && !isNaN(second) && (act == '-' || act == '+'))

如果你想反转条件,那就是

if ( !(!isNaN(first) && !isNaN(second) && (act == '-' || act == '+')))

equivalent to

if ( isNaN(first) || isNaN(second) || (act != '-' && act != '+'))