Javascript not greater than 0
Javascript not greater than 0
如何在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)
相关文章:
- Is (!~index) faster than (index === -1)?
- 正则表达式,grater than,less than,between
- Javascript not greater than 0
- Is JIT-ed JavaScript slower than Java?
- Webaudio: createMediaElementSource faster than XMLHttpReques
- Javascript字符串替换-RegEx用于非字母数字字符,如Backslash、Greater Than等
- Is '===' more efficient than '!=='?
- Google Feed API: more than one feed
- Is putImageData faster than drawImage?
- Javascript getfile rather than php
- Is NodeJs faster than Clojure?
- more than 20 results in nokia map 'nokia.places.search.m
- If fill in field = Array than JAVASCRIPT