当我通过以下任一版本检索信息时,我得到了正确的结果:
window.screen.height
Run Code Online (Sandbox Code Playgroud)
VS:
screen.height
Run Code Online (Sandbox Code Playgroud)
是否需要/建议写"窗口".部分,还是我可以把它留下来?
这是否也适用于访问document.properties/methods和其他对象 - 我从不需要编写'文档'.部分(或我访问的任何对象)?
T.J*_*der 10
是否需要/建议写"窗口".部分还是我可以把它留下来?
这个具体的例子(window浏览器中的属性)是一个特例; 不,你不必写window.在一般的,你必须指定对象引用.
这是一种特殊情况,因为它screen是全局对象的属性,使其成为全局变量.window是还全局对象,这是......全局对象引用的属性.所以window.screen并且screen引用相同的东西,在全局对象上称为"屏幕"的属性.你也可以写window.window.screen或window.window.window.screen等等.:-)一些ASCII艺术可能是有用的:
/-----------------\
| |
v |
+-------------------+ |
| The Global Object | |
+-------------------+ |
| window |----/ +-------------------+
| screen |---------------->| The Screen Object |
| (other globals).. | +-------------------+
+-------------------+
如您所见,window全局对象上的属性引用回全局对象.
但同样,这是一个特例.
要点:使用该with语句,JavaScript确实可以在不处理全局对象时使用隐式对象引用
var obj = {foo: "bar"};
with (obj) {
console.log(foo); // "bar"
}
Run Code Online (Sandbox Code Playgroud)
......但这可能会让人感到非常困惑,因此with广泛不鼓励使用(实际上,在语言的新(ish)"严格"模式中不允许使用).
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |