JavaScript 中“null”和“0”的关系是什么?
听起来很奇怪,因为在数学中,如果我们有两个数 a 和 b,如果 a 不小于 b,那么可能的情况是 a 大于或等于 b。
但是对于null和“0”,null既不大于“0”,也不等于“0”,但却大于或等于“0”。(null>=0)
在 JavaScript 中,“0” 等于 false,因为“0” 在进行相等性测试时是一种字符串类型,JavaScript 的自动类型转换机制会将其转换为数值“0”,而我们知道“0” 代表 false 值。Null − null是一个表示空值或未知值的特殊值。
例如,“let number = null” 这段代码表示 number 的值目前为空,以后可能会赋值。我们会遇到一些典型的情况。对于大于(>)、小于(<)和等于(=)运算符,我们会得到布尔值 false 作为输出。但是,当使用大于或等于(>=)运算符时,会得到布尔值 true 作为输出。
这里出现的问题是,一个值怎么会既不大于 0,也不等于 0,但却大于或等于 0 呢?
示例 1
在下面的示例中,我们检查条件 (null>0)、(null<0) 和 (null == 0),但在所有情况下值都为 false,因此输出为“这是一个典型关系”。
<!DOCTYPE html>
<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>
示例 2
在下面的示例中,我们检查条件 if (null>=0) 是否为真。
<!DOCTYPE html>
<html>
<body>
<script>
if (null >= 0) {
document.write("null is greater than 0");
} else {
document.write("It is a relationship");
}
</script>
</body>
</html>
示例 3
在下面的示例中,我们检查条件 if (null<=0) 是否为真。
<!DOCTYPE html>
<html>
<body>
<script>
if (null <= 0) {
document.write("null is less than 0");
} else {
document.write("It is a relationship");
}
</script>
</body>
</html>
示例 4
下面的示例演示了 JavaScript 中 null 和 0 之间的关系。在本例中,我们将使用 typeof() 方法来检查这两个变量的类型。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Relation between null and zero(0)</title>
<div id="var1"></div>
<div id="var2"></div>
</head>
<body>
<script>
let var1 = 0;
let var2 = null;
document.getElementById("var1").innerHTML =
"Type of 1st variable zero(0) is : " + typeof var1;
document.getElementById("var2").innerHTML =
"Type of 2nd variable (null) is : " + typeof var2;
</script>
</body>
</html>
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP