0
(function (global, undefined) {
... some code which doesnt use arguments array
} (this));
我经常看到模块以这种方式完成的模式。自我执行功能的参数
我真的质疑为什么还有第二个参数undefined
? 这些例子是越野车还是在这里有undefined
的特殊含义?
(function (global, undefined) {
... some code which doesnt use arguments array
} (this));
我经常看到模块以这种方式完成的模式。自我执行功能的参数
我真的质疑为什么还有第二个参数undefined
? 这些例子是越野车还是在这里有undefined
的特殊含义?
undefined
是一个被广泛使用的全局属性。在旧版本的JavaScript中,可以更改它的值(例如,到true
)。这通常会破坏一切。 通过将其范围更改为“模块”(即函数)的本地范围,可防止其他模块干扰该模块。
这允许代码安全地使用undefined
而不必使用global.undefined
。
真的回答了我的问题。谢谢。 –