(function() { var arr, i, k, obj, v, _i, _j, _len, _len2, __indexOf = Array.prototype.indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; arr = [1, 2, 3, 4, 5]; obj = { a: 1, b: 2, c: 3, d: 4, e: 5 }; console.log('5 in arr: ' + (__indexOf.call(arr, 5) >= 0)); console.log('5 in obj: ' + (__indexOf.call(obj, 5) >= 0)); console.log('e in obj: ' + (__indexOf.call(obj, 'e') >= 0)); console.log('5 of arr: ' + (5 in arr)); console.log('5 of obj: ' + (5 in obj)); console.log('e of obj: ' + ('e' in obj)); console.log('i in arr'); for (_i = 0, _len = arr.length; _i < _len; _i++) { i = arr[_i]; console.log(i); } console.log('i in obj'); for (_j = 0, _len2 = obj.length; _j < _len2; _j++) { i = obj[_j]; console.log(i); } console.log('i of arr'); for (i in arr) { console.log(i); } console.log('k of obj'); for (k in obj) { console.log(k); } console.log('k, v of obj'); for (k in obj) { v = obj[k]; console.log(k + ': ' + v); } console.log('array.forEach(callback(v, k, arr))'); arr.forEach(function(element, index, array) { if (index === 0) console.log('arr == array: ' + (arr === array)); return console.log(index + ': ' + element); }); }).call(this);