何尔墨斯
2016-11-17 14:15
<script type="text/javascript">
var myarr = ['*','##',"***","&&","****","##*"];
myarr[7] = "**";
var arr=new Array();
document.write(myarr.length+"<br>");
//将数组内容输出,完成达到的效果。
for(var i=0;i<9;i++){
if(myarr[i][0]=="*"){
arr[i]=myarr[i];
}
document.write("arr第"+i+"个数据是:"+arr[i]+"<br>");
}
document.write(arr.length);
</script>
请问为什么在执行完for循环之后下面的就不执行了?无论我接下来打印什么,都不会有输出?是哪里的问题呢?
什么叫做不执行? 你原本的代码还是可以执行的,结果为
8
arr第0个数据是:*
arr第1个数据是:undefined
arr第2个数据是:***
arr第3个数据是:undefined
arr第4个数据是:****
arr第5个数据是:undefined
当数组第6个为undefined,就会执行报错if(myarr[i][0]=="*"){
<!DOCTYPE HTML> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>数组</title> <script type="text/javascript"> //创建数组 var arr = ['*','##',"***","&&","****","##*"]; arr[7]="**"; //显示数组长度 alert (arr.length); //将数组内容输出,完成达到的效果。 document.write(arr[0]+"<br/>"+arr[7]+"<br/>"+arr[2]+"<br/>"+arr[4]+"<br/>"); console.log(arra) </script> </head> <body> </body> </html>
当然中止的是循环,即满足IF语句的条件之后,从break的位置跳出循环,不再执行break之后到for结束的“}”之间的语句
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题