JavaScript|null和undefined

null表示什么也没有,这个可以和C++中的指针为空一起理解,是一个只有一个值的特殊类型,表示一个空对象的引用。

undefined是表示没有设置值,即为初始化。

我们可以试试它们是否相等:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>null和undefined</title>
</head>
<body>

<script>.write((null == undefined) + "<br>");
document.write((null === undefined) + "<br>");</script>

</body>
</html>

使用相等和绝对相等的效果是不一样:

JavaScript|null和undefined_html

这说明null和undefined的值是相等的,而类型却是不相同的。

使用typeof进行查看:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>null和undefined</title>
</head>
<body>

<script>.write((null == undefined) + "<br>");
document.write((null === undefined) + "<br>");
document.write(typeof null + "<br>");
document.write(typeof undefined + "<br>");</script>

</body>
</html>

JavaScript|null和undefined_javascript_02

结果就是它们的值是相同的,但是null是object类型,而undefined是undefined类型。


人生没有白走的路,每一步都算数!