在许多互联网上看到的代码示例中,像
为什么有些全局变量需要在前面加上
编辑:
我知道如何使用 OOP 并且可以访问各种
本质上,我要问的是为什么我们不在
innerWidth
, onresize
, navigator
这样的全局变量通常写作 window.innerWidth
,window.onresize
,window.navigator
等。为什么有些全局变量需要在前面加上
window.
而像 document
和 console
这样的通常不需要?编辑:
我知道如何使用 OOP 并且可以访问各种
window
对象的属性。我不是 JavaScript 的新手。如果我的问题不够清晰,我很抱歉。我已经在 JS 中编程多年,但从未质疑这种惯例,因此提出了这个问题。本质上,我要问的是为什么我们不在
document
前面加上 window.
,而是在 innerWidth
前面加上它。这仅仅是为了清晰明了吗?理论上,我不应该能够引用任何没有 window.
前缀的全局变量而没有问题吗?
window
用作命名空间。 - Jonathan Lonowskidocument
前面不加window.
,而在innerWidth
前面却加了呢?人们为什么对全局的undefined
进行冗长的安全检查,但对其他全局变量却不进行?谁知道呢。我确实不知道。人们做些奇怪的事情。 - user1106925