Test case details

Preparation Code

<script> // pre-ES5 polyfill for Object.keys() Object.keys=Object.keys||function(o,k,r){r=[];for(k in o)r.hasOwnProperty.call(o,k)&&r.push(k);return r} // pre-ES5 polyfill for Array.prototype.forEach() Array.prototype.forEach||(Array.prototype.forEach=function(a,b){for(var c=0,d=this.length;d>c;++c)a.call(b,this[c],c,this)}); function iterate1() {    var ret = "", i = 0;    for (i in obj) {       ret += obj[i];    }    return ret; } function iterate2() {    var ret = "", i = 0;    Object.keys(obj).forEach(function(key){       ret += obj[key];    }); } function iterate3() {    var ret = "", i = 0;    var keys = Object.keys(obj)    for (var i=0; i < keys.length; i++){       ret += obj[keys[i]];    } } // object with 10 keys in it var obj = {    a: "a",    b: "b",    c: "c",    d: "d",    e: "e",    f: "f",    g: "g",    h: "h",    i: "i",    j: "j" }; var tmp; </script>
tmp = "";

Test cases

Test #1

tmp += iterate1();

Test #2

tmp += iterate2();

Test #3

tmp += iterate3();