鉴于:
var
isIE = $.browser.msie && !$.support.opacity,
isIE6 = isIE && $.browser.version < 7;
哪个会更快:
if(isIE6){ doSomething(); }
else { doSomethingElse(); }
OR
if(!isIE6){ doSomethingElse(); }
else { doSomething(); }
它们在速度方面是否完全相同?
答案 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。