没有花括号(大括号)的for循环也能正确执行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没有花括号(大括号)的for循环也能正确执行相关的知识,希望对你有一定的参考价值。

代码一

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

以上是关于没有花括号(大括号)的for循环也能正确执行的主要内容,如果未能解决你的问题,请参考以下文章

for,if循环语句可以不带大括号吗?在可以不带的情况下我的循环有错误吗?

Java中大括号的作用是啥?

TSLint:for 语句必须大括号(花括号)

如何在 Notepad++ 中选择大括号之间的所有代码?

关于Java if循环后面没有加括号

golang的for循环后的大括号必须跟在for关键字后面