JavaScript 关于if语句的几种优化
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语句来举办处理赏罚,而上面的代码不只简捷有用,并且可阅读性强。 细心想想,好些时辰我们都能找到办理题目的有用途径,但要害在于我们是否专心去探求一种更好的途径。 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |