我想知道两个闭包之间有什么区别:
(function(window, undefined) {
// JS code
})(window);
另一个
(function(window) {
// JS code
})(window, undefined);
最佳答案
当您在旧的 ES5 之前的环境(例如 Internet Explorer 8)中运行时,undefined
只是一个变量,可以被覆盖。
意思是,你可以这样做:
undefined = 42
console.log(undefined) // 42
当您将 1 个参数传递给闭包 (window
),但您的闭包函数需要 2 个参数(window
、undefined
)时, 未定义
将是未定义的。这是为了防止页面上的某些其他代码覆盖未定义
。
关于javascript - 我想知道两个闭包有什么区别:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35978196/