在浏览器中,window对象有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。这意味着在网页中定义的任何一个对象、变量和函数,都以window作为其Global对象,因此有权访问parseInt()等方法
在全局作用域中声明的变量、函数都会变成window对象的属性和方法
var age = 20; function sayAge() { //由于sayAge()存在于全局作用域中,因此this.age被映射到window.age,最终显示的仍然是正确的结果。 alert(this.age); } alert("window.age:" + window.age); sayAge(); window.sayAge();
直接在window对象上定义的属性可以通过delete操作符删除
Js代码
var i = 29; window.color = "red"; delete window.i;//抛出错误 delete window.color; alert(window.i);//29 alert(window.color);//undefined
利用window对象访问为申明的变量oldValue
Js代码
var newValue = oldValue;//报错 var newValue = window.oldValue;//不会报错,因为这是一次属性查询