JavaScript|null和undefined
null表示什么也没有,这个可以和C++中的指针为空一起理解,是一个只有一个值的特殊类型,表示一个空对象的引用。
undefined是表示没有设置值,即为初始化。
我们可以试试它们是否相等:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>null和undefined</title>
</head>
<body>
<script>
document.write((null == undefined) + "<br>");
document.write((null === undefined) + "<br>");
</script>
</body>
</html>
使用相等和绝对相等的效果是不一样:
这说明null和undefined的值是相等的,而类型却是不相同的。
使用typeof进行查看:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>null和undefined</title>
</head>
<body>
<script>
document.write((null == undefined) + "<br>");
document.write((null === undefined) + "<br>");
document.write(typeof null + "<br>");
document.write(typeof undefined + "<br>");
</script>
</body>
</html>
结果就是它们的值是相同的,但是null是object类型,而undefined是undefined类型。
人生没有白走的路,每一步都算数!