Htgs
2014-12-30 13:04
第四个数组存储的数据为什么会显示null?第五个数组存储数据为什么会出错?
楼上说得没错,因为页面加载是从上到下加载的,当浏览器读取到数组时,由于后面的P元素等所有的内容都还没有加载,造成程序找不到这2个值,所以才会报错。
解决方法就像楼上说的,将代码放到文档的最后,这样当浏览读到数组时,整个文档所有的元素内容都已经加载完成,就不会出错了。
这样就可以了。P标签放在前面,script放在P标签后面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>数组赋值</title>
</head>
<body>
<p id="con">数组每个值有一个索引号</p>
<script language="javascript">
var myarr=new Array(4);
myarr[0]=80;
myarr[1]=90;
myarr[2]=document.getElementById("con");
myarr[3]=document.getElementById("con").innerHTML;
//var myarray=new Array(80,90,68);
//var myarray=[80,90,68];
document.write("数组第一个值是:"+myarr[0]+"<br>");
document.write("数组第二个值是:"+myarr[1]+"<br>");
document.write("数组第三个值是:"+myarr[2]+"<br>");
document.write("数组第三个值是:"+myarr[3]+"<br>");
</script>
</body>
</html>
第四个数组存储的数据为什么会显示null?第五个数组存储数据为什么会出错?
是因为js从上到下执行的。
执行document.getElementById("fff")的时候p标记还没有加载出来。
第四个数组存储的数据为什么会显示null:因为页面中没有id为fff的元素。
第五个数组存储数据为什么会出错:因为页面中没有id为fff的元素,值为null,而null是没有innerHTML属性的,可以类比于空指针
JavaScript 数组可以存储任何类型的数据(包括数字、字符串、布尔值、数组、对象,甚至是函数等等),并且可以混合存储,比如第一个是数字,第二个可以是字符串等等;
JavaScript进阶篇
469067 学习 · 22582 问题
相似问题