ECMAScript是JavaScript的核心,但如果要在Web中使用JavaScript,那么BOM(浏览器对象模型)则无疑才是真正的核心。BOM提供了很多对象,用于访问浏览器的功能,这些功能与任 何网页内容无关。缺少事实上的规范导致BOM既有意思又有问题,因为浏览器提供商会按照各自的想法随意去扩展它。于是,浏览器之间共有的对象就成为了事实上的标准。这些对象在浏览器中得以存在,很大程度上是由于它们提供了与浏览器的互操作性。没有所谓的标准BOM实现或者标准BOM接口。
window对象
BOM的核心对象是window,它表示浏览器的一个实例。在浏览器中,window对象有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。这意味着在网页中定义的任何一个对象、变量和函数,都以window作为其Global对象,因此有权访问parselnt()等方法。
全局作用域
由于window对象同时扮演着ECMAScript中Global对象的角色,南昌网络公司工程师提醒大家,所有在全局作用域中声明的变量、函数都会变成window对象的属性和方法。来看下面的例子:
var age=29;
function sayAge(){
alert( this.age);
}
alert (window. age); //29
sayAge(); //29
window.sayAge(); //29
我们在全局作用域中定义了一个变量age和一个函数sayAge(),它们被自动归在了window对象名下。于是,可以通过window.age访问变量age,可以通过window.sayAge()访问函数sayAge()。由于sayAge()存在于全局作用域中,南昌建网站公司技术员提示,this.age被映射到window.age,最终显示的仍然是正确的结果。
明白了这一点,就容易理解为什么本章后面将要讨论的很多全局JavaScript对象(如location和navigator)实际上都是window对象的属性了。
本文仅限内部技术人员学习交流,不得作于其他商业用途.文章出自:南昌网站建设公司-百恒网络 http://www.jxbh.cn 如转载请注明出处!