javascript 循环中没有花括号是怎么回事?

2025-03-03 11:10:55
推荐回答(2个)
回答1:

在绝大多数编程语言中,如果if、for、while等语句的内容中仅有一条语句,可以省略花括号。


在这里,for循环没有花括号,所以,其等价于:

for(i = 0; i < arr1.length; i++){
    for(j = 0; j < arr1[i].length; j++){
        alert(arr1[i][j])
    }
}
alert(arr1[1]);


也就是说,第一个for循环的循环体只有一个for循环,而这个for循环也没有花括号,所以这个for循环的循环体只有一个alert(arr1[i][j]),另外一条语句alert(arr1[1])不是两个for循环的循环体,要在两个循环都执行完毕后才会执行到。


不要被代码的缩进给迷惑了。同时提醒,良好的编码习惯应该不管循环体有几条语句,都加上花括号,以免引起和这里类似的错误。

回答2:

没有花括号的话他的范围只是相当于循环了下一条语句