Javascript内联返回

时间:2014-08-30 04:25:26

标签: javascript function inline

我们在工作中实现了一个新的Javascript框架(http://app.igaro.com),其中作者已经内联了许多返回语句。以https://github.com/igaro/app/blob/master/compile/js/core.language.js为例。

我的老板告诉我不要遵循这种方法,但除了他更喜欢扩展代码的外观之外,没有理由这样做。哪个被认为是最佳做法?

if (dosomething) return 30;
if (trythis) return 20;
return false;

-v -

if (dosomething) {
 return 30;
} else if (trythis) {
 return 20;
} else {
 return false;
}

3 个答案:

答案 0 :(得分:2)

这里有三个不同的问题:

  1. 您是否应始终将if语句的正文放在大括号中?

  2. 你应该从功能的中间返回吗?

  3. 您需要在else返回后使用if吗?

  4. 对于(1),我会说"是"有强烈的共识,而jslint / hint会强制执行。

    对于(2),我的个人意见是,如果你想快速退出一个功能,你应该这样做。这种技术还可以减少过多的嵌套。

    对于(3),这似乎毫无意义。

答案 1 :(得分:1)

这归结为您作为团队达成一致的编码标准。除此之外没有最佳实践。

答案 2 :(得分:1)

那么第二个就是你应该遵循的那个。省略括号可能导致混淆。

例如,如果代码缩进如下:

if(condition)
  var three = 1 + 2;
  return three;

有人可能会认为:

if(condition) {
   var three = 1 + 2;
   return three;
}

而是编译为:

if(condition){
   var three = 1 +2;
}
return three; // Error!
道格拉斯·克罗克福德在他的书“Javascript:The Good Parts”中说过。

  

经验表明,这种形式更具弹性。

现在由你来决定是否跟进最好的javascript程序员'不管是不是。