window.当我们想明确表达它时,我们就会写作。基本上有两种情况可以使用它:
- 对象的属性和方法——作为接口
window一部分的一切。您提到的监听器就是一个例子,诸如, , , , ,之类的东西是其他的。Window.onloadwindow.scrollYwindow.statuswindow.parentwindow.open()window.focus()window.removeEventListener()
- 创建全局属性。从任何范围赋值
window.myGlobalVar是创建全局“变量”的常见 JS 习惯用法。诚然,用 . 显式声明它仍然是更好的做法var。
虽然我们可以“选择性地”省略window.这里的部分,但这并不常见。特别是通过赋值创建隐式全局变量是被鄙视的,通常被视为一个错误。因此,如果您是故意这样做的,您可以使用window..
但是,第一种情况并不总是明确定义的。window.当我们想要使用的属性本质上是一个静态的全局变量时,我们经常会省略部分,window即使它正式指定在对象上也不一定与对象相关。您很少看到有人使用, document, atob(), WorkerorsetTimeout()前缀,就像您不使用or用于内置对象一样(尽管它是有效的)。fetch()window.window.JSON.parsewindow.Array
对于其他一些属性,例如navigator,location或者alert()它并不总是很清楚,并且可能使用了 550 没有或没有。