今天在看别人代码的时候发现有人用逻辑短路代替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;看起来好像并没有本质的差别。
所以说这种只是个人写法的不同吗?有大神来说说其中的区别吗?
猛跑小猪
相关分类