for in vs typeof

JavaScript performance comparison

Revision 2 of this test case created

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    var obj = {
      "foo":"bar",
      "what":"ok",
      "thiasdasdg":"whatesdsdsdver",
      "thsdssding":"whatsdsdsdever",
      "thisdsasdasng":"whasdsdsdtever",
      "thsdsdsding":"whatsdsdsdever",
      "thisdsdng":"whatevsdsdsder",
      "thsdsdsding":"whasdsddstever",
      "thasdasasding":"whatasdassdever",
      "thiasdasdng":"whaasdasdsatever",
      "thsdfdsfing":"whatedfgdfgver",
      "thifdgdfgng":"whatedfgdfgfdver",
      "thiewerwerng":"whatever",
      "thwerewring":"whatever",
      "thwerwering":"whatever",
      "thiwerng":"whatever",
      "twerwerhing":"whatever",
      "twerwerhing":"whatever",
      "thwerwerwing":"whatever",
      "thiwerwerwerng":"whatever",
      "thwerwerweing":"whatever",
      "thwerwerwering":"whatever",
      "thsasdasdasding":"whatever",
      "thasdasasding":"whatever",
      "thiasdasdasng":"whatever",
      "thiasdasasng":"whatever",
      "thiasdasdasdng":"whatever",
      "thiasdasdng":"whatever",
      "thizxczcxzng":"whatever",
      "thzxczxcing":"whatever",
      "thdasdaing":"whatever",
      "thzxcing":"whatever",
      "thiasdasng":"whatever",
      "thasdasding":"whatever",
      "thiadsasng":"whatever",
      "thing":"whatever",
      "thasdasding":"whatever",
      "thiwqwewng":"whatever",
      "thqweqweing":"whatever",
      "thiqweqweng":"whatever",
      "thidsfsdfng":"whatever",
      "thisdqwefsdfng":"whatever",
      "thiqweqweng":"whatever",
      "thiweqweg":"whatever",
      "thqweqweing":"whatever",
      "thisdsdsng":"whatever",
    }
};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
for in
if ("thing" in obj) {
 var b = obj["thing"];
}
pending…
typeof
if (typeof(obj['thing']) !== "undefined") {
 var b = obj["thing"];
}
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment