js问题,这是怎么回事?能解释一下这个循环?
4个回答
展开全部
因为for后面只有一行程序
注:第一个for后面只有一个for循环且该循环只有一行代码(就是你例子中的alert)
如果是
for(i=0;i<arrq,length;i++){//如果只有一个alert下一个for循环对于这个for循环算一行代码
for(j=0;j<arr1[i].length;j++){
alert(arr1[i][j]);//只有一行的时候函数能识别出是哪个循环的
alert(11111);//这有两行代码就必须加大括号了
}
}
这样就必须加大括号了
换一种解释方式
程序是自上而下运行的
for(i=0;i<arrq,length;i++)//当执行到这,满足循环条件向下继续执行
for(j=0;j<arr1[i].length;j++)//当执行到这,满足循环条件向下继续执行
alert(arr1[i][j]);//当执行到这,会返回到“j”这个循环继续执行,直到循环结束,然后到“i”这个 循环继续执行;所以不影响程序的执行
再来看两个alert的时候
如果不加括号
for(i=0;i<arrq,length;i++)//当执行到这,满足循环条件向下继续执行
for(j=0;j<arr1[i].length;j++)//当执行到这,满足循环条件向下继续执行
alert(arr1[i][j]);//当执行到这,会返回到“j”这个循环继续执行,直到循环结束,然后到“i”这个 循环继续执行;
alert(11111);//本来这个应该是“j”这个循环的但没有被执行,所以要加括号
也就是说只有在两个以上语句的时候 加括号和不加括号才有区别;
注:第一个for后面只有一个for循环且该循环只有一行代码(就是你例子中的alert)
如果是
for(i=0;i<arrq,length;i++){//如果只有一个alert下一个for循环对于这个for循环算一行代码
for(j=0;j<arr1[i].length;j++){
alert(arr1[i][j]);//只有一行的时候函数能识别出是哪个循环的
alert(11111);//这有两行代码就必须加大括号了
}
}
这样就必须加大括号了
换一种解释方式
程序是自上而下运行的
for(i=0;i<arrq,length;i++)//当执行到这,满足循环条件向下继续执行
for(j=0;j<arr1[i].length;j++)//当执行到这,满足循环条件向下继续执行
alert(arr1[i][j]);//当执行到这,会返回到“j”这个循环继续执行,直到循环结束,然后到“i”这个 循环继续执行;所以不影响程序的执行
再来看两个alert的时候
如果不加括号
for(i=0;i<arrq,length;i++)//当执行到这,满足循环条件向下继续执行
for(j=0;j<arr1[i].length;j++)//当执行到这,满足循环条件向下继续执行
alert(arr1[i][j]);//当执行到这,会返回到“j”这个循环继续执行,直到循环结束,然后到“i”这个 循环继续执行;
alert(11111);//本来这个应该是“j”这个循环的但没有被执行,所以要加括号
也就是说只有在两个以上语句的时候 加括号和不加括号才有区别;
追问
当有两个alert的时候一样能够输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//i代表arr1[0],arr1[1],arr1[2],值是:[0,3)
//j代表如:arr1[0] = [ 3, 1, 11 ];表示arr1[0].length,值为:[0,3)
执行过程是这样的:
i取0, j从0循环到3(不包括3, 以下相同)
i取1, j从0循环到2
i取2 j从0循环到1
所以, 就得到你在注释中所提的结果
//j代表如:arr1[0] = [ 3, 1, 11 ];表示arr1[0].length,值为:[0,3)
执行过程是这样的:
i取0, j从0循环到3(不包括3, 以下相同)
i取1, j从0循环到2
i取2 j从0循环到1
所以, 就得到你在注释中所提的结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果循环里只一个语句 可以不写 {}
for() alert(); 这算是一句。
for() alert(); 这算是一句。
追问
当有两个alert的时候一样能够输出,这是怎么回事呀,谢谢
追答
不对吧,有两个的时候,只执行一个,第二个是在循环外面执行的吧?为了增加可读性,不论是一句还是很多句都用大括号括起来吧。
for(i=1;i<10;i++){
sum++;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有{(大括号)是说它只把第一个for循环后面的一条语句算在for循环里面,也就是只执行第二个for循环,而第二个for循环后面的代码不会算在第一个for循环里面。输出的话是根据二维数组的结构进行输出的。。还有,你知道二维数组么?
追问
二维数组不是怎样写的吧,是有区别的好像
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询