我正在研究一個需要一些非常複雜的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