代碼一
for循環沒有{}大括號(花括號),在for語句下面是一條語句。
for(var i=0;i<3;i++) console.log(1,i);
上面的代碼能無誤輸出:
1 0
1 1
1 2
代碼二
那么,如果沒有花括號的for循環下有多行語句呢?
for(var i=0;i<3;i++) console.log(1,i); console.log(2)
輸出:
1 0
1 1
1 2
2
他不會把第二行也循環。
代碼三
for(var i=0;i<3;i++) console.log(1,i);console.log(2) console.log(3)
如果for循環下有多條語句和多行語句呢?
1 0
1 1
1 2
2
3
只執行了第一條語句。
if
if(true)console.log(1) console.log(2) //1 //2 if(false)console.log(1) console.log(2) //2
很明顯,if也是如此的。
while
while(true)console.log(1)
執行那一瞬間,我就尷尬了。
結論:
在絕大多數編程語言中,如果if、for、while等語句的內容中僅有一條語句,可以省略花括號。
注意:是一條語句,不是一行。
比如js用分號;表示一條語句,所以上面的例子中,雖然兩條語句在同一行,但只循環了前面一條語句。