<script>
function f(){
var t=document.getElementById("t");
var g=t.asdfg;
var a=new Date().getTime();
for(var x=0;x<100000000;++x){
if(g===undefined);
//if(g);
}
var b=new Date().getTime();
alert(b-a);
}
</script>
<body onload="f();">
<input id="t"/>
</body>
在Firefox
if(g)
慢于if(g===undefined)
。我想知道有没有人知道有什么好的解释为什么是这种情况?仿形`如果(x)的``VS如果(X ===未定义)`
在Chrome if(g)
比if(g===undefined)
更快。我想知道有没有人知道有什么好的解释为什么是这种情况?
我并不是说我们应该用一个比其他..我只是感兴趣的理论
可以说,不同的浏览器有不同的实现,但任何理论在任何浏览器将是值得的答案
对于这样的基准,您可能需要使用http://jsperf.com/(我不是下属,只是一个风扇)。 – Giacomo 2011-06-17 09:42:04