全局对象(global object)在javascirpt中有着重要的用途:全局对象的属性是全局定义的符号,javasciprt程序可以直接使用。当javascirpt解释器启动的时候(或者任何web浏览器加载页面的时候),它将创建一个新的全局对象,并给它一组定义的初始属性。
---- 全局属性,比如undefined,infinity,和NaN
---- 全局函数,比如isNaN(),parseInt()和eval()
---- 构造函数,比如Date()、RegExp()、String()、Object()、Array()
---- 全局对象,比如Math和JSON
在代码的最顶级——不在任何函数内的javascirpt代码——可以使用javasciprt关键字this来引用全局对象 var global = this; //定义一个引用全局对象的全局变量
在客户端javascript中,在其表示的浏览器窗口中的所以javascript代码中,Window对象充当了全局对象。这个全局对象有一个属性window引用其自身,它可以代替this来引用全局对象。Window对象定义了核心全局属性,但它也针对Web浏览器和客户端Javascript定义了一少部分其他全局属性。
当初次创建的时候,全局对象定义了javascript中所有预设的全局值。这个特殊的对象同样包含了为程序定义的全局值。如果代码声明了一个全局变量,这个全局变量就是全局对象的一个属性。