【前言】
本文簡單說下if() 加大括號 和不加大括號有什么區別
簡單點:有括號的話,if語句控制{}里面的所有語句,沒括號的話,if語句只控制最近的一行。每句代碼以分號 ; 分隔開來。
【主體】
先來看個簡單的例子
demo1(if語句后跟完整語句):
if(1<2){var a = 10,b=20,c=30;}
console.log(a,b,c)
這時滿足條件,所以a,b,c都會被賦值,輸出結果為10 20 30
if(1<2) var a = 10,b=20,c=30;
console.log(a,b,c)
此時滿足條件,a,b,c都被賦值,輸出結果為10 20 30
demo2(if語句后跟分隔語句):
if(1<2) var a = 10;var b=20;var c=30;
console.log(a,b,c)
此時條件成立,所以輸出10 20 30
if(1>2) var a = 10;var b=20;var c=30;
console.log(a,b,c)
此時條件不成立,輸出20 30。沒有輸出a的值,由此可以得出【如果不加花括號,那么當條件不成立時,只會執行最近的一句代碼】
【分享】
1.不加{}
if (1==2)
x=1;y=2;z=3;
編譯后
if (1==2)
{x=1};y=2;z=3;
所以當1!=2時,y=2;z=3;仍執行。
2.加{}
if (1 == 2)
{ x=1;y=2;z=3;}
所以當1!=2時,都不執行。
【通俗理解】
后面不加{}時,就近原則,只控制第一句