首頁  >  文章  >  web前端  >  js中if語句的幾種最佳化程式碼寫法

js中if語句的幾種最佳化程式碼寫法

高洛峰
高洛峰原創
2017-02-04 13:02:391933瀏覽

儘管我還沒用它去做一些嘗試性的測試,但從這裡可以看到它的確對js作了美化的工作。也許有人認為if語句就這麼簡單,能優化到什麼程度?但看看以下的幾種方式,你也許會改變看法。 

一、使用常見的三元運算子 

if (foo) bar(); else baz(); ==> foo?bar():baz(); 
if (!foo) bar(); else baz(); ==> foo?baz():bar(); 
if (foo) return bar(); else return baz(); ==> return foo?bar():baz();

對於以上使用三元運算元來最佳化if語句你一定不會陌生,或許你常使用它。

二、使用and(&&)和or(||)運算符 

if (foo) bar(); ==> foo&&bar(); 
if (!foo) bar(); ==> foo||bar();

老實說,我並沒有這樣去寫過代碼,這種寫法我在學習《鳥哥的Linux 私房菜》時看到過,但我並沒想到在js中實現它。 

三、省略大括號{} 

if (foo) return bar(); else something(); ==> {if(foo)return bar();something()}

這種寫法你我都很熟悉,但我建議在程式碼優化的時候這樣做,或者交給UglifyJS幫你解決。畢竟少一個大括號,程式碼的可閱讀性並不高。 

寫到這裡,我想到jQuery之父在《精通 JavaScript》中的一個取得HTML元素屬性的方法。 

function getAttr(el, attrName){ 
var attr = {'for':'htmlFor', 'class':'className'}[attrName] || attrName; 
};

如果我們不這樣寫,可能我們需藉助於兩個if語句來進行處理,而上面的程式碼不僅簡潔有效,而且可閱讀性強。 

仔細想想,好些時候我們都能找到解決問題的有效方法,但關鍵在於我們是否用心去尋找更好的途徑。

更多js中if語句的幾種優化代碼寫法相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn