我最近发现了一些JavaScript代码(功能很好),但我注意到它们在下一个循环中没有括号。我一直认为你必须包含它们才能使代码正常运行。在什么条件下你可以省略括号并仍然逃脱它?在功能上,也就是说,不是美学上的。
for (var i = 0; i < rbuttons.children.length; i++)
if (rbuttons.children[i].value == true)
return rbuttons.children[i].text;
答案 0 :(得分:2)
仅对一个声明强制使用括号。良好做法,但不是强制性的
所以
if (x) alert("x");
或
if (x)
alert("x");
将起作用
在你的情况下
if (rbuttons.children[i].value == true) return rbuttons.children[i].text;
是一个陈述
答案 1 :(得分: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
答案 2 :(得分: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
,因此可以省略两者的大括号在这个片段中。
邋and且容易出错的风格,绝对不推荐。
答案 3 :(得分:1)
如果您只有一个语句,则可以省略括号。
if (someTest)
statement1;
statement2;
相当于
if (someTest)
{
statement1;
}
statement2;
请注意,始终包含括号是最佳做法。