我正在研究一个需要一些非常复杂的JavaScript处理的项目。这在很多地方包括了很多嵌套的if
- else
。我一般都照顾通过读取堆栈 溢出的其它技巧来优化JavaScript代码尽可能的,但我想知道如果以下两个结构将使仅在速度方面有什么区别:在JavaScript中使用'return'而不是'else'
if(some_condition) {
// process
return ;
}
// Continue the else condition here
VS
if(some_condition) {
// Process
}
else {
// The 'else' condition...
}
我不同意。也许有点容易阅读,但更难以维护,当它不是你而是更难时,而是更需要了解代码的其他开发者。一般来说,这是我的观点,即关于具有太多“返回”点的函数。 – 2009-11-30 16:35:41
我恭敬地不同意你的不同意见。根据我的经验,使用这种类型的构造从未影响可维护性。如果有的话,它已经变得更好;嵌套语句的数量越少,往往会增加我的可维护性。不过,我确实同意你的评论有太多的“回归点”。通常,我只在函数的开始和结束处有返回点。开始时明显的例外,并最终达到功能目的。 – 2009-11-30 17:28:21
双方都有优点。我个人的经验是,太多的嵌套if-elses是一场噩梦 - 尤其是如果其中一个条件非常短,所以我们可以使用return语句来快速终止它。这绝对使它更具可读性。 – jeffreyveon 2009-12-01 10:00:16