2013-03-07 24 views
0

我最近發現了這一點JavaScript代碼(這是很好的功能),但我注意到它們沒有圍繞下一個循環的括號。我一直認爲你必須包括他們的代碼才能運作。在什麼情況下,您可以省略括號並仍然放棄使用?在功能上,即不是美學。在javascript中的下一個循環括號

for (var i = 0; i < rbuttons.children.length; i++) 
    if (rbuttons.children[i].value == true) 
     return rbuttons.children[i].text; 
+0

如果方括號不存在,那麼它會立即使用它的for循環。因此,您可以在循環或條件語句中使用一行代碼,然後可以省略括號。 – Dineshkani 2013-03-07 09:26:46

回答

2

括號對於一個語句而言不是強制性的。良好做法,但不是強制性

所以

if (x) alert("x"); 

if (x) 
    alert("x"); 

將工作

在你的情況

if (rbuttons.children[i].value == true) return rbuttons.children[i].text; 

是一個語句

1

如果沒有括號'for'和'if'只考慮下一個語句。這就是爲什麼你的代碼正在運行。在for和check之後再多一個語句,你的代碼將不起作用。

var y=2; 
var x=0; 
for(i=0;i<10;i++) 
x+=i;//inside loop 
y+=i;//not inside loop 


if(y) 
x=5;//work according to if condition 
y=10;//not work according to if condition 
1

這與if相同。 下一條語句被視爲for循環的成員。

for(var i = 0; i<10;i++) 
console.log(i); 
console.log("foo"); 
// prints 0-9 but "foo" only once 

因爲在代碼中if僅具有return聲明的約束自身和if本身綁定到for,你可以省略大括號都在這個片段。

馬虎和容易出錯的風格,絕對不推薦。

1

如果您只有一條語句,則可以省略括號。

if (someTest) 
statement1; 
statement2; 

相當於

if (someTest) 
{ 
    statement1; 
} 
statement2; 

請注意,它被認爲是最佳實踐總是包括括號。