ECMAScript 5 compatibility table
http://kangax.github.io/es5-compat-table/#Object.keys
| This browser | IE 9 | IE 10, 11 | FF 4+ | SF 5.1 | SF 6,7 | WebKit | CH 13-16 | CH 19+ | OP 12 | OP 12.10, 15 | Konq 4.9 | BESEN | Rhino 1.7 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| §Object.createc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | ||||||||||||||
| §Object.definePropertyc | Yes | Yes | Yes | Yes | Yes | Yes | Yes[2] | Yes | Yes | Yes | Yes | No | Yes | Yes | ||||||||||||||
| §Object.definePropertiesc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | ||||||||||||||
| §Object.getPrototypeOfc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Object.keysc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Object.sealc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | ||||||||||||||
| §Object.freezec | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | ||||||||||||||
| §Object.preventExtensionsc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | ||||||||||||||
| §Object.isSealedc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | ||||||||||||||
| §Object.isFrozenc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | ||||||||||||||
| §Object.isExtensiblec | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | ||||||||||||||
| §Object.getOwnPropertyDescriptorc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | ||||||||||||||
| §Object.getOwnPropertyNamesc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Date.prototype.toISOStringc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | ||||||||||||||
| §Date.nowc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Array.isArrayc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §JSONc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Function.prototype.bindc | Yes | Yes | Yes | Yes | No[4] | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | ||||||||||||||
| §String.prototype.trimc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Array.prototype.indexOfc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Array.prototype.lastIndexOfc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Array.prototype.everyc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Array.prototype.somec | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Array.prototype.forEachc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Array.prototype.mapc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Array.prototype.filterc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Array.prototype.reducec | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Array.prototype.reduceRightc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Getter in property initializerc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Setter in property initializerc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Property access on strings[5]c | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Reserved words as property names[6]c | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | ||||||||||||||
| §Zero-width chars in identifiersc | Yes | Yes | Yes | Yes[7] | No | Yes | Yes | No | Yes | No | Yes | No | Yes | Yes | ||||||||||||||
| §Immutable undefinedc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| §Strict modec | Yes | No | Yes[8] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | ||||||||||||||
[1] In Internet Explorer 8 Object.defineProperty only accepts DOM objects (MSDN reference).
[2] In some versions of WebKit Object.defineProperty does not work with DOM objects.
[3] In Internet Explorer 8 Object.getOwnPropertyDescriptor only accepts DOM objects (MSDN reference).
[4] Function.prototype.bind is now supported in Safari 5.1.4
[5] For example: "foobar"[3] === "b"
[6] For example: ({ if: 1 })
[7] Firefox 4 & 5 fail this test
[8] IE10 PP2 has a bug with strict mode which makes the following expression "fail", even though strict mode is more or less supported: (function(){ "use strict"; return !this })()
浙公网安备 33010602011771号