/es5-polyfill

ECMAScript 5 Polyfill for IE-8

Primary LanguageJavaScriptMIT LicenseMIT

ECMAScript 5 Polyfills

Object

Object.keys

Object.getPrototypeOf

Object.getOwnPropertyNames

Object.defineProperty 注意不要给普通对象添加属性时用 get/set,慎用

Object.defineProperties 慎用

Object.create

Array

Array.isArray

Array.prototype.forEach

Array.prototype.every

Array.prototype.fill

Array.prototype.filter

Array.prototype.find

Array.prototype.findIndex

Array.prototype.indexOf

Array.prototype.lastIndexOf

Array.prototype.map

Array.prototype.reduce

Array.prototype.reduceRight

Array.prototype.some

Function

Function.prototype.bind

String

String.prototype.trim

Date

Date.prototype.now

Date.prototype.toISOString

DOM相关

Document.getElementsByClassName

CustomEvent

Element.matches

Element.textContent

Element.getBoundingClientRect

弥补了IE中getBoundingClientRect取不到width/height的缺憾

事件绑定/解绑

IE中也使用addEventListener/removeEventListener方法进行事件绑定/解绑

window

getComputedStyle

为IE增加了此API的Polyfill

Viewport

获取当前窗口的一些属性已经做了兼容,可以直接使用如下属性来获取

window.innerWidth

window.innerHeight

window.pageXOffset

window.pageYOffset

window.scrollX

window.scrollY