最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

復(fù)制代碼 代碼如下:

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(||)運算符

復(fù)制代碼 代碼如下:

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

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

三、省略大括號{}

復(fù)制代碼 代碼如下:

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

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

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

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

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

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

相關(guān)文章

最新評論

安吉县| 余江县| 登封市| 新密市| 花垣县| 井冈山市| 临高县| 纳雍县| 平南县| 铅山县| 池州市| 健康| 汽车| 临沧市| 阳春市| 舟山市| 合水县| 泗水县| 卓尼县| 获嘉县| 芮城县| 南宁市| 阿荣旗| 岳阳县| 秀山| 无棣县| 西贡区| 石城县| 合江县| 宣化县| 青阳县| 鲁甸县| 汤原县| 衡山县| 和田县| 丰镇市| 华容县| 华蓥市| 青铜峡市| 宜昌市| 昭平县|