Es3 Edit -

(since ES3 arrays don’t have it either):

if (!Array.prototype.indexOf) Array.prototype.indexOf = function (searchElement, fromIndex) 0); i < this.length; i++) if (this[i] === searchElement) return i; return -1; ; es3 edit

Avoid "use strict" (ES5+), Object.create , Object.defineProperty , getters/setters, and JSON (unless you include a polyfill). Stick to var , function declarations, for loops, in checks with hasOwnProperty , and simple object literals for cross-browser safety. (since ES3 arrays don’t have it either): if (

Here’s a concise, useful piece regarding ES3 (ECMAScript 3) editing, focusing on a common pitfall and its solution: In ES3, there is no Array.prototype.forEach , map , filter , or reduce . Using them will break in older environments (e.g., IE8). Fix: Use a traditional for loop, or manually add the missing methods if you control the environment. Using them will break in older environments (e