当我们处理错误的值时,会产生很多好奇心,尤其是在处理“ null ”和“ 0 ”时,由于它们的属性,这尤其令人好奇。当我们尝试比较“ null ”和“ 0 ”时,我们会遇到典型的情况。对于大于(>),小于(<)和等于(=),我们将获得布尔值false 作为输出。但是,当大于或等于(> =)布尔值true时, 将作为输出执行。
在这里出现的问题是,一个值如何不大于0,不等于0但大于等于0?
在下面的示例中,在null和0之间检查了三个条件(例如,大于,小于和等于)。在所有三种情况下,获得的结果均为false。
<html> <body> <script> if(null > 0){ document.write("null is greater than 0"); } else if(null < 0) { document.write("null is less than 0"); } else if(null == 0){ document.write("null is equal to 0"); } else { document.write("It is a typical relationship"); } </script> </body> </html>
输出结果
It is a typical relationship
在以下示例中,null不大于0且不等于0,但大于或等于0。听到它看起来很奇怪。因为在数学中,如果我们有两个数字,即a,b,并且a不小于b,则可能的情况是a大于b或a等于b。
变为“ null”和“ 0”时,数学期望值将不成立。这是用javascript处理的典型情况。
<html> <body> <script> if(null > 0){ document.write("null is greater than 0"); } else if(null == 0){ document.write("null is equal to 0"); } else if(null>=0) { document.write("null is greater than or equal to 0 "); } </script> </body> </html>
输出结果
null is greater than or equal to 0