javascript - 逻辑短路和if条件判断的性能比较

查看:119
本文介绍了javascript - 逻辑短路和if条件判断的性能比较的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

今天在看别人代码的时候发现有人用逻辑短路代替if判断,具体代码如下

this.index == oBtn.length - 1 && (oDiv.style.cssText = "");

突然很想知道为什么要这么写,难道是if的效率不高吗?于是自己写了个小demo来验证

var startTime = new Date().getTime();
for(var i = 0;i<200000000;i++){
    if(100000000 <= i){
        ++i;
    }
    //
}
var endTime = new Date().getTime();
console.log('耗时:'+(endTime-startTime)+'ms');

两种情况分别试验了五次,在使用if判断的情况下,耗时分别为578,574,570,583,600ms;在使用逻辑短路的情况下,耗时分别是568,579,579,583,602ms;看起来好像并没有本质的差别。
所以说这种只是个人写法的不同吗?有大神来说说其中的区别吗?

解决方案

就我个人来说,当在编辑比较长的代码的时候,且if后面之后一行的话,通常会尽量少用if,而多使用第一种。

因为多层嵌套的时候,多一个if,就多一个}。对我个人来说,无关性能,而是更为优雅,看代码更不容易累。

这篇关于javascript - 逻辑短路和if条件判断的性能比较的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆