<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>
dans Firefox if(g)
est plus lent que if(g===undefined)
. Je me demande si quelqu'un sait une bonne explication pourquoi c'est le cas?profilage `si (x)` `VS si (x === défini)`
dans Chrome if(g)
est plus rapide que if(g===undefined)
. Je me demande si quelqu'un sait une bonne explication pourquoi c'est le cas?
Je ne prétends pas que nous devrions utiliser un sur l'autre .. Je suis intéressé par la théorie
navigateurs différents ont peut dire différentes implémentations, mais toute théorie sur un navigateur serait digne d'une réponse
Pour les benchmarks comme celui-ci, vous pouvez utiliser http://jsperf.com/ (je ne suis pas affilié, juste un fan). – Giacomo