考虑到以下情况
for(var i=0; i< data.cats.length; i++) list += buildCategories(data.cats[i]);jsLint告诉我
Expected '{' and instead saw 'list'.使用较短的表示法而不是用大括号包装它有什么实际的缺点吗?
发布于 2012-03-14 03:07:29
它是防御性的编程--使用花括号可以清楚地定义哪些语句要与for相关联。
如果不使用大括号,以后可能会有人错误地在list += buildCategories...下面添加另一条语句,以为它也会通过for循环执行。
发布于 2012-03-14 04:42:25
“使用较短的符号是否有实际的缺点...”
如果您不小心编码,这可能是错误的来源,但是省略它们可以提供更干净的代码,并且如果您坚持一致和深思熟虑的编程标准,省略它们将不是问题。
例如,当我嵌套了能够排除大括号的if/else语句时,我更喜欢使用else而不是使用大括号。
if (condition)
if (condition2)
inner_if()
else ;
else
outer_if()那段代码仍然比这段代码干净...
if (condition) {
if (condition2) {
inner_if();
}
} else {
outer_if();
}如果有人认为他们可以在if或else中添加另一个语句,那么这就是一个需要解决的理解问题。
所以实际上,这只是一个使用什么标准的问题。利用大括号的优势当然是一个有效的选择,但我们不应该对此过于武断。
如果你想要一个更具可配置性的工具,你可以考虑使用jsHint.com。
发布于 2012-03-14 03:10:13
JSLint检查是否遵循良好的代码风格。插入花括号总是很好的风格,因为它很明显代码所属的位置。而且,它更短并不是一个真正的争论,因为大多数微型机无论如何都会处理这一点。
https://stackoverflow.com/questions/9690378
复制相似问题