楠木710
2016-05-11 21:48
这样写那些错了?为什么不输出呢?
var myarr=["*","##","***","&&","****","##","**"];
for(j=0;j<3;j+2)
{
document.write(myarr[j]+"</br>");
document.write(myarr[7-j]+"</br>");
}
代码应改为:
var myarr=["*","##","***","&&","****","##","**"];
for(j=0;j<3;j=j+2)
{
document.write(myarr[j]+"</br>");
document.write(myarr[6-j]+"</br>");
}
<script type = "text/Javascript">
//定义数组
var arr = new Array();
var arr = ['*', '##', "***", "&&", "****", "##*"];
arr[7] = "**";
//弹出窗口,显示数组长度
alert("数组长度是:"+arr.length);
document.write(arr + "<br><br>");
//定义循环依次读取位置0,2,4的值
for (var i=0;i<5;i=i+2)
{
document.write(arr[i] + "<br><br>");
if (i == 0)//在开始时只读取一次位置7上的值
{
document.write(arr[arr.length-1] + "<br><br>");
}
}
</script>
这样写只循环了两次就结束,当j=0 时输出为 * ** 当循环完之后j+2, j变成了2, 在循环输出为 *** ## 此时j+2=4了 结束循环了
document.write(myarr[7-j]+"</br>");中的下标超了数组的长度
数组越界
j+2什么鬼,我粘过去直接浏览器挂了。还有j<2,就够了
数组下标最后一个是6,你写成7了
JavaScript进阶篇
468192 学习 · 21891 问题
相似问题