网络编程
位置:首页>> 网络编程>> JavaScript>> 如何编写高质量的Javascript代码(10)

如何编写高质量的Javascript代码(10)

 来源:rockux 发布时间:2011-03-07 16:04:00 

标签:javascript,代码,经验

大括号

应该使用大括号,尤其在那些可用可不用的地方,如果你的if语句或者for循环只有一句话,那么大括号不是必须的,但是这种时候最好用大括号。这可以让代码保持一致,并且便于升级。

假设你的for循环只有一句。你可以不用大括号,也不会有什么错误。




// bad practice
for (var i = 0; i < 10; i += 1)
   alert(i);

但是假如你以后要在这个循环里面添加其他东西呢?




 // bad practice
 for (var i = 0; i < 10; i += 1)
    alert(i);
    alert(i + " is " + (i % 2 ? "odd" : "even"));

这时候,虽然第二个alert有缩进,但他还是在循环之外的。所以,无论何时,都应该是用大括号。if语句一样:




// bad
if (true)
   alert(1);
else
   alert(2);  
 
// better
if (true) {
   alert(1);
 } else {
    alert(2);
 }

大括号位置

开发人员也经常争论大括号的位置,放在同一行还是下一行呢?

在具体的例子中,这是个见仁见智的问题。但也有例外,假如程序根据不同的位置做不同的解析呢?这是因为插入分号机制,js对此并不挑剔,他会在你没有添加分号的行之后帮你添加。这在函数返回一个对象字面量然后大括号写在下一行的时候出问题:




// warning: unexpected return value
function func() {
   return
  // 下面的读取不到
   {
      name : "Batman"
   }
}

如果你想让这个函数返回一个有name属性的对象字面量,这个函数是做不到的,因为插入的分号,返回的应该是一个undefied值。

所以,最后的结论是,必须使用大括号,并且写在同一行。




function func() {
   return {
      name : "Batman"
   };
}

关于分号:跟大括号一样,必须写。这不只是推行严格的写程序的规范,更是在必要的时候解决一些不清楚的地方,比如前面的例子。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com