根据前面课程的学习,你也许会观察到,if...else...语句、for循环语句、while循环语句都有一个共同的特点,就是所需要执行的statement都被包含在{}(花括号中),如:
var isEnglish = true;
if (isEnglish)
{
console.log("Hello world!")
}
那么,“{}”的作用是什么呢?能否不加“{}”呢?
先来看第二个问题,能否不加“{}”?以及在什么情况下能不加“{}”。
先来看一个例子:
var isEnglish = false;
if (isEnglish)
{
console.log("Hello world!")
console.log("I'm English!")
}
上述代码中,因为isEnglish是false,所以什么也不会输出。
现在我们把代码改一下,将{}去掉:
var isEnglish = false;
if (isEnglish)
console.log("Hello world!")
console.log("I'm English!")
再执行一次,看看会是什么结果:

可以看到,脚本运行后输出 了 “I'm English”。这是为什么呢?
上述代码中,“{}”的作用,是告诉JavaScript引擎,{}中的那些statements是属于 if语句 的,只有当 if语句 的condition为真的才执行。
而对于没有加“{}”的脚本,其实是在告诉JavaScript引擎,只有condition后的第一条语句是属于 if语句 的。对于第二个脚本来说,只有第一条语句是属于if语句的。
var isEnglish = false;
if (isEnglish)
console.log("Hello world!") // 属于if,当isEnglish为true时执行。
console.log("I'm English!") // 不属于if,每次都执行
实际,当不使用 {} 时,第二个脚本等同于下面的脚本:
var isEnglish = false;
if (isEnglish){
console.log("Hello world!")
}
console.log("I'm English!")
同样的,对于 for循环、while循环来说,也适用于if的这个{}规则 。
好了,这一节讲到这里。如果你弄懂了这节课的内容,那么恭喜你,你又进步了!持之以恒,你还需要继续学习JavaScript的更多特性。
什么是switch语句?
什么是do...while语句?
请继续关注我的课程,我将在后续课程中为大家解答上述问题。
想学计算机技术吗?需要1对1专业级导师指导吗?想要团队陪你一起进步吗?欢迎加我为好友!

网友评论