Bài viết đã lưu

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.

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):

// ES3-safe array iteration var arr = [1, 2, 3]; for (var i = 0; i < arr.length; i++) console.log(arr[i]);

if (!Array.prototype.indexOf) Array.prototype.indexOf = function (searchElement, fromIndex) ;