javascript - 自执行函数的参数

标签 javascript

(function (global, undefined) {
  ... some code which doesnt use arguments array
} (this));

我经常看到模块模式是以这种方式完成的。

我真的很怀疑为什么还有第二个参数 undefined ? 这些示例是否有问题,或者undefined有特殊含义吗?在这里?

最佳答案

undefined 是一个广泛使用的全局属性。在旧版本的 JavaScript 中,可以更改它的值(例如,更改为 true)。这通常会破坏一切。 通过将其范围更改为“模块”(即函数)的本地范围,可以防止其他模块干扰它。

这允许代码安全地使用undefined,而不必使用global.undefined

MDN Reference

关于javascript - 自执行函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17965393/

相关文章:

javascript - 使用 Node.js 和 Google Cloud Storage 压缩图像

javascript - MVC 中的 Ajax 表单验证

javascript - jQuery,如何在页面加载时禁用或启用带有复选框的 <select> 元素?

javascript - 如何在 RequireJS 模块中进行异步初始化

javascript - knockout 所选选项绑定(bind)

javascript - Ext 或 Ext_scaffold 中的 bool 字段已损坏?

javascript - 为表格的innerHTML设置条件

javascript - 访问 JSON 对象中的数组元素

javascript - 使用javascript将数组添加到二维数组

javascript - 让 &lt;iframe&gt; 异步工作