我今天注意到 JavaScript 对象的循环可以使用更少的大括号来完成。
例如,正常的做事方式:
// The normal way
var foo = {
bar: 1
};
for(var key in foo) {
if(foo.hasOwnProperty(key)) {
console.log(foo[key]); // prints out 1
}
}
替代方案,通过删除额外的 { ... }
并且它仍然有效:
// The alternative
var foo = {
bar: 1
};
for(var key in foo) if(foo.hasOwnProperty(key)) { // <-- see :)
console.log(foo[key]); // prints out 1
}
但是,我不太确定为什么这是可能的。所以我的问题是:什么时候可以省略大括号?我得到了反对票,说“太宽泛”,所以我试图强调我不是在寻找一百万个用例,简短的回答很适合解释基础知识。
提前致谢!
最佳答案
只要只有一个语句,您就可以省略大括号。
for (var x in obj) {
console.log(x);
}
可以变成
for (var x in obj)
console.log(x);
但如果你有
for (var x in obj) {
console.log(x);
console.log(x);
}
它需要大括号。
这有点不一致。例如,它适用于 for
、while
和 if
,但不适用于 try
或 catch
。为了保持一致性,我总是使用大括号。
关于JavaScript:什么时候可以省略大括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24872513/