’ Uncaught TypeError: Cannot set properties of null ’ 错误解决【Javascript】
错误代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<script type="text/javascript">
const cars = ["Tesls", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars;
</script>
<body>
<h1>JavaScript 数组</h1>
<p>Array 对象用于单个变量中存储多个值:</p>
<p id="demo"></p>
</body>
</html>
根据如图可知:
不能捕捉到类型数据错误。
错误原因
因为 js脚本写在了body前面
网页编译脚本的时候,是从上往下编译,
由于编译脚本的时候body还没编译到,所以读取不到这个变量范围,这时候只要把我们写的js脚本的代码写在body下面就可以了。
正确代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h1>JavaScript 数组</h1>
<p>Array 对象用于单个变量中存储多个值:</p>
<p id="demo"></p>
</body>
<script type="text/javascript">
const cars = ["Tesls", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars;
</script>
</html>
总结
其实一般会出现这种错误,其实就是我们定义的变量范围作用域查找不到,这时候就需要仔细研究出错的变量在运行的时候是否作用域范围对或者变量的值是否存在。