所有浏览器都支持 window 对象。它表示浏览器窗口。
所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。(全局变量是 window 对象的属性,全局函数是 window 对象的方法)。HTML DOM 的 document 也是 window 对象的属性之一,
我们经常使用的
document.getElementById("xxx");
等效于
window.document.getElementById("xxx");
称之为“全局XX”,是因为它们位于全局作用域中,任何代码都可以(通过作用域链)访问它们:
var fruit= 'apple'; /* fruit是顶级对象的属性(或全局属性)*/
var myApp = function() { // 函数会创建一个作用域
var run = function() {
// 输出fruit,apple的值是通过作用域链在顶级对象中找到的
console.log(fruit);
}();
}();
引用顶级对象有两种方式:1、直接使用顶级对象的名字;2、在全局作用域中使用this关键字。
var test001 = 'windowTest';
windowRef1 = window;
windowRef2 = this;
console.log(windowRef1 ,windowRef2);
console.log(windowRef1.test001 ,windowRef2.test001);
顶级对象是隐含的或默认的对象,不必明确引用。window.alert()和alert()在浏览器中是相同的语句。省略顶级对象,JavaScript会为你补上它。顶级对象是作用域链查找的终点,因此会永远存在.
var person = { //window 是隐含的,相当于window.person
personMethod:function(){
alert(‘test001’ + ‘test002’);//隐含window
window.alert(‘test001’ + ‘test002’);//结果相同
}
}
JavaScript原生提供如下函数,作为顶级对象的方法:
decodeURI();
decodeURIComponent();
encodeURI();
encodeURIComponent();
eval();
isFinite();
isNaN();
parseFloat();
parseInt();
在浏览器中,都可以调用window.parseInt(‘500’)类似的方式或者直接parseInt(‘500’)的方式调用。