JavaScript API 接口前缀的方法?

Method for prefixing JavaScript API Interfaces?

MutationObserver 的 MDN 文档中,兼容性 table 列出了对 Chrome 18 和带有 -webkit 前缀的 Safari 6 的基本支持。

这是浏览器内部的东西吗...或者是否有一种实际的方法来为 MutationObserver() 之类的东西添加前缀?

我的假设是它不像下面这样简单:

var observer = new -webkit-MutationObserver();

...但也许是?

-webkit- 用于 CSS,因为 CSS 属性中可以包含 - 个字符。在 JS 中,构造函数的前缀通常为 Webkit,属性的前缀通常为 webkit

var observer = new WebkitMutationObserver();

通常这是用类似

的方式处理的
var MutationObserver = window.MutationObserver ||
        window.WebKitMutationObserver || window.MozMutationObserver;

var observer = new MutationObserver();