第四个数组存储的数据为什么会显示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 数组可以存储任何类型的数据(包括数字、字符串、布尔值、数组、对象,甚至是函数等等),并且可以混合存储,比如第一个是数字,第二个可以是字符串等等;