我经常看到以下模式:
(function (window, document, undefined) {
//
})(window, document);
未定义但未分配。
目的是:
你有无论如何一个未定义的局部变量,其值为' undefined' (在功能范围内)。即使有人覆盖了未定义的全局变量。这个变量可以在你想拥有值的地方使用' undefined'而这恰恰让我感到困惑。
因为JavaScript中的void-operator完全符合我上面描述的用例:提供可靠值' undefined'
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void
那么为什么要使用开发人员这些未定义的模式而不是合并的void运算符?