document
只是global
/window
对象的另一个属性。如果您将其声明为范围内的形式参数或变量,则查找过程将首先在您声明的范围内匹配该名称,因此它有点重叠。
无论如何,你不想这样做,你为什么要这样做?对于您和其他正在查看您的代码的人来说,它是如此令人困惑。这是非常糟糕的做法。
实际上,这就是为什么大多数“高级”javascript片段/库都以封闭函数范围开头的原因
(function( window, document, undefined ) {
// window will always reference the "window" object that got originally passed in
// document will always reference the "document" object that got originally passed in
// undefined will always reference the "undefined value" that got originally passed in
}( window, window.document ));
..只是为了避免,所谓的混蛋效应。如果这样的闭包在文件的最顶部是开放的,它会确保您引用其中的原始对象,以防万一某些天才有好主意覆盖/重叠它们。
结论:您当然可以随意选择变量的名称,但出于显而易见的原因,您确实不应该使用诸如 ,window
等这样显着名称的名称。document
undefined