熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

javascript教程:關於if語句優化的方法

2013-11-15 12:11:59  來源: JSP教程 

  UglifyJS是一個對javascript進行壓縮和美化的工具在它的文檔說明中我看到了幾種關於if語句優化的方法盡管我還沒使用它去做一些嘗試性的測試但從這裡可以看到它的確對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語句來進行處理而上面的代碼不僅簡潔有效而且可閱讀性強

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


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20486.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.