代码一
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用分号;表示一条语句,所以上面的例子中,虽然两条语句在同一行,但只循环了前面一条语句。