加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

JavaScript 关于if语句的几种优化

发布时间:2018-09-13 02:33:58 所属栏目:创业 来源:站长网
导读:UglifyJS是一个对javascript举办压缩和美化的器材,在它的文档声名中,我看到了几种关于if语句优化的要领。尽量我还没行使它去做一些实行性的测试,但从这里可以看到它简直对js作了美化的事变。大概有人以为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语句来举办处理赏罚,而上面的代码不只简捷有用,并且可阅读性强。

细心想想,好些时辰我们都能找到办理题目的有用途径,但要害在于我们是否专心去探求一种更好的途径。

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读