<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>数组</title>
<script type="text/javascript">
var a=['*','##','***',"&&","****","##*"];
a[7]="**";
alert(a.length);
for(var i=0;i<a.length;i++){
a[i]=new Array();
document.write(a["+i+"]+"</br>");
}
</script>
</head>
<body>
</body>
</html>
HTML语言,是按顺序执行下来的,你在第9行定义了a数组并且给赋值了,但是在接下来你的for循环里又重新定义了a数组,没有给赋值,输出的结果当然是undefined.
看你的问题,是要输出数组的值吧,一个是引号的问题,一个是循环中定义的数组,看看这样呢
for(var i=0;i<arr.length;i++){
document.write(arr[i]+'<br>')
}
一共有7个元素,而arr[7]代表arr的长度为8,中间肯定会有一个没有声明赋值所以就出现undefined的了
for(var i=0;i<a.length;i++){ a[i]=new Array(); document.write(a["+i+"]+"</br>"); }
a[i]=new Array();//把这句放到循环前,这句的意思是定义数组,你把它放到循环里,它就循环了数次
document.write(a["+i+"]+"</br>");//改成document.write(a[i]+"</br>");
这样就基本没问题(a[6]还是会输出undefined,因为它是个空值,所以输出没问题)
document.write(a[i]+"<br/>"); 看下怎么用+号连接吧
document.write(a[i]+"<br/>");
document.write(a["+i+"]+"</br>");
数组的标签错了
document.write(a[i]+"</br>");