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

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

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

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

復(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語句你肯定不會(huì)陌生,或許你經(jīng)常使用它。

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

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

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

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

三、省略大括號{}

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

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

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

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

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

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

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

相關(guān)文章

最新評論

清新县| 康马县| 东明县| 霍城县| 宁安市| 阿拉善左旗| 重庆市| 吐鲁番市| 东兰县| 桂东县| 县级市| 汉寿县| 万源市| 陆丰市| 闽侯县| 星子县| 武乡县| 南郑县| 万山特区| 葫芦岛市| 本溪市| 于田县| 罗平县| 乐安县| 鱼台县| 栾川县| 齐齐哈尔市| 当涂县| 枣强县| 夏邑县| 绥化市| 莎车县| 芜湖县| 夹江县| 连城县| 子长县| 上高县| 怀集县| 山东| 侯马市| 昭平县|