问答详情
源自:3-3 谁是团里成员(数组赋值)

关于数组存储数据的类型,除了数字、字符、布尔值之外,还有什么?

第四个数组存储的数据为什么会显示null?第五个数组存储数据为什么会出错?

提问者:Htgs 2014-12-30 13:04

个回答

  • 我要开发地图系统
    2016-06-12 00:40:10

    楼上说得没错,因为页面加载是从上到下加载的,当浏览器读取到数组时,由于后面的P元素等所有的内容都还没有加载,造成程序找不到这2个值,所以才会报错。

    解决方法就像楼上说的,将代码放到文档的最后,这样当浏览读到数组时,整个文档所有的元素内容都已经加载完成,就不会出错了。


  • 为理想我拼了
    2015-04-01 15:44:12

    这样就可以了。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>


  • 紫荆1
    2014-12-30 14:36:05

    第四个数组存储的数据为什么会显示null?第五个数组存储数据为什么会出错?

    是因为js从上到下执行的。

    执行document.getElementById("fff")的时候p标记还没有加载出来。

  • 哈哈小邪
    2014-12-30 13:45:25

    第四个数组存储的数据为什么会显示null:因为页面中没有id为fff的元素。

    第五个数组存储数据为什么会出错:因为页面中没有id为fff的元素,值为null,而null是没有innerHTML属性的,可以类比于空指针

  • 哈哈小邪
    2014-12-30 13:42:52

    JavaScript 数组可以存储任何类型的数据(包括数字、字符串、布尔值、数组、对象,甚至是函数等等),并且可以混合存储,比如第一个是数字,第二个可以是字符串等等;