javascript数组无法输出问题
黄舟
黄舟 2017-04-10 16:05:48
[JavaScript讨论组]
<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">

    var infos = [[0,1,2,3,4,5,6,7,8,9],[0,1,2,3]]
        infos[0][0]= "小A";
    infos[0][1] = "女";
    infos[0][2] = 21;
    infos[0][3] = "大一";
        infos[1][0] = "小B";
    infos[1][1] = "男";
    infos[1][2] = 23;
    infos[1][3] = "大三";
    infos[2][0] = "小C";
    
document.write(infos[0][1]);

</script>
</head>
<body>
</body>
</html>

此时在浏览器内无输出,但若注释掉(infos2 = "小C";)这一句,马上可以显示。我检查过输入时的字符,没有错误,十分迷惑为什么从这一行开始浏览器会无法输出?谢谢!

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
阿神
var infos = [[0,1,2,3,4,5,6,7,8,9],[0,1,2,3]]


  • 很明显,你这句话的意思是定义一个数组,该数组有两个元素,分别是[0,1,2,3,4,5,6,7,8,9] 和[0,1,2,3],所以不管你怎么改变这两个元素的值,infos[0][1] = "女";//这是改值,而不是赋值,她的原始值是1都没问题。

  • infos[2][0] = "小C";这句话的意思是,infos这个数组的第三个元素也是一个数组,且第一位是“小C”,问题是,infos[2]你都没定义,相当于它就是undefined,那给undefined[0]赋值,当然会报错啦

阿神

因为你声明的infos数组长度为2,所以数组下标越界,访问不到infos[2]

高洛峰
infos[2] = [];
infos[2][0] = 'xx'
PHP中文网

这个问题……呃……发现许多用户提的问题好基础好基础……

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号