View on GitHub

Cycle263 Blog

Stay hungry, stay foolish.

polyfill

因为 polyfill 模拟标准 API,所以能够以一种面向所有浏览器未来的方式针对这些 API 进行开发,最终目标是:一旦对这些 API 的支持变成绝对大多数,则可以方便地去掉 polyfill,无需做任何额外工作。

jQuery不是polyfill,但下面这段代码是:

// 首先包含jQuery
if (!document.querySelectorAll) {
  Element.prototype.querySelectorAll = function (q) {
    return $(this).find(q).get();
  };

  // document对象不是Element对象的后代,
  // 因此手工重写
  document.querySelectorAll = Element.prototype.querySelectorAll;
}