jQuery / Javascript if语句速度

时间:2010-06-17 15:31:09

标签: javascript jquery if-statement

鉴于:

var
isIE = $.browser.msie && !$.support.opacity, 
isIE6 = isIE && $.browser.version < 7;

哪个会更快:

if(isIE6){ doSomething(); }
else { doSomethingElse(); }

OR

if(!isIE6){ doSomethingElse(); }
else { doSomething(); }

它们在速度方面是否完全相同?

4 个答案:

答案 0 :(得分:4)

在1,000,000迭代循环上进行此测试,没有区别。

var test = true;

var count = 1000000;
var stop, start = new Date();

while(count--) {
    if(test) ; // Change to !test
    else ;
}

stop = new Date();

alert(stop - start);

在Firefox,Safari和amp;中测试IE8。

在系统上运行的其他进程,在每个浏览器中多次执行测试,返回相同的一般变化,以毫秒为单位,而不管!

答案 1 :(得分:1)

我认为技术上第一个可能会更快,因为它比第二个做更少的操作(只检查值)(反转值然后检查),但老实说,你不太可能注意到差异。

答案 2 :(得分:1)

第一个会更快,因为它需要少一个步骤(!运算符会触发与if语句分开的操作)。

那就是说,没有真正的区别。

答案 3 :(得分:0)

我会说你只是测试一下。 Firebug 中有一个个人资料 IE8 中也有一个。

Grz,Kris。