欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js中if語句的幾種優(yōu)化代碼寫法

 更新時間:2011年03月12日 19:15:16   作者:  
UglifyJS是一個對javascript進行壓縮和美化的工具,在它的文檔說明中,我看到了幾種關(guān)于if語句優(yōu)化的方法。
盡管我還沒使用它去做一些嘗試性的測試,但從這里可以看到它的確對js作了美化的工作。也許有人認為if語句就那么簡單,能優(yōu)化到什么程度?但是看看以下的幾種方式,你也許會改變看法。

一、使用常見的三元操作符

復制代碼 代碼如下:

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();

對于以上使用三元操作符來優(yōu)化if語句你肯定不會陌生,或許你經(jīng)常使用它。

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

復制代碼 代碼如下:

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

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

三、省略大括號{}

復制代碼 代碼如下:

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

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

寫到這里,我想到jQuery之父在《精通 JavaScript》中的一個獲取HTML元素屬性的方法。
復制代碼 代碼如下:

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

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

仔細想想,好些時候我們都能找到解決問題的有效途徑,但關(guān)鍵在于我們是否用心去尋找一種更好的途徑。

相關(guān)文章

  • 簡單聊聊JavaScript的事件循環(huán)機制

    簡單聊聊JavaScript的事件循環(huán)機制

    前端開發(fā)的童鞋應該都知道,JavaScript是一門單線程的腳本語言,這就意味著JavaScript 代碼在執(zhí)行的時候,只有一個主線程來執(zhí)行所有的任務,同一個時間只能做同一件事情,這篇文章主要給大家介紹了關(guān)于JavaScript事件循環(huán)機制的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • javascript使用遞歸算法求兩個數(shù)字組合功能示例

    javascript使用遞歸算法求兩個數(shù)字組合功能示例

    這篇文章主要介紹了javascript使用遞歸算法求兩個數(shù)字組合功能,結(jié)合實例形式分析了JS基于遞歸算法的數(shù)組遍歷、判斷、轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • JavaScript可否多線程? 深入理解JavaScript定時機制

    JavaScript可否多線程? 深入理解JavaScript定時機制

    JavaScript的setTimeout與setInterval是兩個很容易欺騙別人感情的方法,因為我們開始常常以為調(diào)用了就會按既定的方式執(zhí)行, 我想不少人都深有同感
    2012-05-05
  • JS判斷點是否在線段上的代碼

    JS判斷點是否在線段上的代碼

    這篇文章主要介紹了JS判斷點是否在線段上的相關(guān)資料,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11
  • 探索Javascript中this的奧秘

    探索Javascript中this的奧秘

    本文介紹了JavaScript中的this關(guān)鍵字在各種情況下的含義,實例都很簡單,這樣更能有助于加深理解。雖然這只是js中一個很小的概念,但借此我們可以了解js中函數(shù)的執(zhí)行環(huán)境,充分掌握this的相關(guān)知識有助于我們在編寫面向?qū)ο蟮腏avaScript程序時能夠游刃有余。
    2016-12-12
  • js實現(xiàn)窗口全屏示例詳解

    js實現(xiàn)窗口全屏示例詳解

    這篇文章主要為大家詳細介紹了js實現(xiàn)窗口全屏示例,包含全屏事件、退出全屏事件等,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • 解決JS內(nèi)存泄露之js對象和dom對象互相引用問題

    解決JS內(nèi)存泄露之js對象和dom對象互相引用問題

    這篇文章主要介紹了解決JS內(nèi)存泄露之js對象和dom對象互相引用問題,需要的朋友可以參考下
    2017-06-06
  • 微信小程序 獲取手機號 JavaScript解密示例代碼詳解

    微信小程序 獲取手機號 JavaScript解密示例代碼詳解

    這篇文章主要介紹了微信小程序 獲取手機號 JavaScript解密的示例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • 基于JavaScript實現(xiàn)百葉窗動畫效果不只單純flas可以實現(xiàn)

    基于JavaScript實現(xiàn)百葉窗動畫效果不只單純flas可以實現(xiàn)

    看到這種百葉窗效果的動畫,以為是用flash做的,下面通過本文給大家介紹基于JavaScript實現(xiàn)百葉窗動畫效果,需要的朋友參考下吧
    2016-02-02
  • 微信小程序多文件上傳 Tdesign及導入失敗問題

    微信小程序多文件上傳 Tdesign及導入失敗問題

    小程序文件上傳還是有點麻煩的,其實主要還是小程序?qū)Φ慕涌谟兄T多的不便,比如說,文件不能批量提交,只能一個個的提交,小程序的上傳需要專門的接口,這篇文章主要介紹了微信小程序多文件上傳 Tdesign及導入失敗問題,需要的朋友可以參考下
    2023-11-11

最新評論