Javascript not greater than 0

Javascript not greater than 0

本文关键字:than greater not Javascript      更新时间:2023-09-26

如何在javascript中检查该值是否不大于0

我试过了

if(!a>0){}

但它不起作用。

您需要第二组括号:

if(!(a>0)){}

或者,更好的是"不大于"与说"小于或等于"相同:

if(a<=0){}

Mureinik的回答是完全正确的,但是看到"理解错误的值"是JavaScript中更重要,不太直观的部分之一,也许值得多解释一下。

如果没有第二组括号,则表示要计算的语句

!a>0

实际上被评估为

(!a) > 0

那么(!a)是什么意思呢?意思是,找到"a"的布尔真性并翻转它;真变成假,假变成真。"a"的布尔真实性意味着 - 如果 a 它具有被认为是"假"的值之一,那么它是假的。在所有其他情况下,即对于"a"的所有其他可能值,它是"true"。错误值为:

false
0 (and -0)
"" (the empty string)
null
undefined
NaN (Not a Number - a value which looks like a number, but cannot be evaluated as one

因此,如果 a 具有这些值中的任何一个,则为 false,而 !a 为真如果它有任何其他,它是真的,因此!a是假的。

然后,我们尝试将其与 0 进行比较。众所周知,0 也可以是"假",所以你的比较要么

if (true > false) {}

if (false > false) {}

看到真或假实际上都不可能等于假(它们不能大于或小于!),你的"如果"将始终失败,括号内的代码将永远不会被计算。

a <= 0或(不太清楚,IMO)!(a > 0)

!运算符应用于a,而不是整个表达式,因此如果您采用"not"路线,则需要额外的括号。

如果您执意要使用>符号,只需反转运算符即可

if(0>a)

如果a也可以等于0,则,

if(0>=a)