jQuery使用这个简单的技巧模式:
(function( $ , window,undefined ) {
alert(window.aaa===undefined); //true
}(jQuery,window))
Run Code Online (Sandbox Code Playgroud)
但是,据我所知,这是因为一个愚蠢的人可能会这样做:
undefined="lalala"
Run Code Online (Sandbox Code Playgroud)
然后这应该失败:
(function( $ , window ) {
alert(window.aaa===undefined);
}(jQuery,window))
Run Code Online (Sandbox Code Playgroud)
但事实并非如此.(它警告真实)
我错过了什么?
这是因为现代浏览器(如Google Chrome)可以防止设置以下值undefined:

这是在ES5中引入的:
undefined根据ECMAScript 5规范,它是不可写的.
来源:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/undefined