为什么Mozilla将Object.assign polyfill放在匿名函数中?

时间:2016-05-26 00:09:56

标签: javascript polyfills iife

我有一个问题。

MDN page for Object.assign函数的Polyfill部分。

Mozilla的技术作家在匿名函数中放置了Object.assign的polyfill:

if (typeof Object.assign != 'function') {
  (function () {
    Object.assign = function (target) {
      ...
    };
  })(); // <-- anonymous function call
}

如果我们在没有匿名函数的情况下直接将Object.assign = function (target) {放在if语句中,会有什么不同?

为什么他们会这样做?

1 个答案:

答案 0 :(得分:0)

  

Mozilla的技术作家

并非MDN的所有编辑都是技术作家,它是一个开放的维基。

  

为什么他们会将Object.assign polyfill放在匿名函数中?

这里绝对没有理由。存储静态值可能很有用,例如对Assigning sets to clusters...done. index set_size min max 2 0 1 100 0 1 113 230 1 2 244 449 的引用,但是没有这样做,因此IIFE是多余的。 I've removed it