<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>
en Firefox if(g)
es más lento que if(g===undefined)
. Me pregunto si alguien sabe alguna buena explicación de por qué este es el caso.de perfiles `si (x)` `si VS (x === indefinido)`
en Chrome if(g)
es más rápido que if(g===undefined)
. Me pregunto si alguien sabe alguna buena explicación de por qué este es el caso.
No estoy discutiendo que debemos usar uno sobre el otro .. yo soy sólo interesado en la teoría
navegadores Podría decirse que tienen diferentes implementaciones diferentes, pero ninguna teoría en cualquier navegador sería digna de una respuesta
Para puntos de referencia como este, es posible que desee utilizar http://jsperf.com/ (No estoy afiliado, solo soy fanático). – Giacomo