在John Resig关于他如何构建jQuery 1.4 的幻灯片中,他提到了一个点,他undefined在jQuery闭包中添加了一个变量,因为"我们可以重用(变量)".
undefined 不是一个普通的变量:
> var undefined = 4
undefined
> undefined
undefined
Run Code Online (Sandbox Code Playgroud)
因此,我们知道undefined不是变量.那么为什么undefined在jQuery源代码中会重新定义?

Roc*_*mat 10
因为在某些JavaScript引擎中,可以设置undefined为一个值.这是为了确保undefined真的undefined.
除了+ Rocket Hazmat的答案之外,当您的代码undefined频繁使用时,您可以在压缩后稍微减小文件大小.那是因为局部变量undefined的名称可能被压缩器损坏,而全局变量undefined可能不会:
foo === undefined;
// ^----- don't touch this, put "undefined" in the compressed result
(function (undefined) {
foo === undefined;
})();
// may however be mangled to
(function(u){foo===u})();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
145 次 |
| 最近记录: |