JS--window对象(一)

作者: FeRookie | 来源:发表于2017-03-03 00:17 被阅读60次

浏览器对象模型(BOM)的核心对象是window,表示的是一个浏览器的实例。window对象即是访问浏览器的一个接口,也是规定的一个全局对象。在全局作用域中声明的任何一个变量,函数都会成为window对象的属性和方法。

如上,定义在全局中的变量age和全局中的函数say(),其实都是在window对象下面的,我们都可以通过window对其进行访问。

定义在全局中的属性和直接挂载在window上面还是有一定的区别。挂载在window上面的属性可以通过delete操作符进行删除,而直接定义在全局中的变量是无法通过delete操作符进行删除的。这是因为在全局中声明的属性其属性特性中有[[Configurable]]特性,其值为false所以这样的值是无法通过delete操作符进行删除掉的。

还有一个要注意的是,直接访问未声明的变量是会报错的,如果通过window访问没有声明的变量会返回undefined,但是不会进行报错。如下:

如果页面中包含框架,则每个框架都含有自己的window对象,并且保存在frames集合中。在frames集合中我们可以通过索引进行访问,或者通过框架名称访问相应的window对象。每个window对象都有一个name属性,name属性的值就是框架的名称。

看下如上结构,上述代码中创建了一个框架集,其中一个框架居上,两个框架居下。我们可以通过window.frames[0]或者window.frames['topFram']来对上方的框架集引用,我们还可以通过top来进行引用,例如top.frames[0]或者top.frames['topFram']

top是始终指向的最外层的框架,也就是浏览器窗口对象(window)。但是有的时候却不是这样,因为在一个框架中,其中的window指向的是那个框架的特定实例。而不是最外层的框架。所以使用top可以确保在一个框架中能够访问到另外一个框架。

和top相对应的是另外一个window对象是parent对象,parent 对象始终指向的是当前框架的直接上层框架,所以在某些情况下top和parent的指向是相等的,在没有框架的情况下top和parent是相等的,都等于window。

和框架有关的还有一个对象是self对象,它始终指向的是window对象。top,parent,self都是window对象的属性。

相关文章

  • JS--window对象(一)

    浏览器对象模型(BOM)的核心对象是window,表示的是一个浏览器的实例。window对象即是访问浏览器的一个接...

  • JS--window对象(二)

    window窗口位置: window.screenLeft和window.screenTop,在IE,Safari...

  • 对象(一)

    1.以字面量方式创建一个对象 包含的基本信息: 自身的:键名(属性名): name , age键值(属性值): L...

  • BOM对象(一)———Screen 对象

    Screen 对象包含有关客户端显示屏幕的信息。 availHeight:返回显示屏幕的高度 (除 Windows...

  • BOM对象(一)———Navigator对象

    Navigator对象:包含了浏览器所有的信息。 Navigator对象集合:plugins[],返回对文档中所有...

  • BOM对象(一)———window对象

    bom对象分为:window对象,Navigator对象,Screen对象,History对象,Location对...

  • 面向对象(一)-类与对象

    1.面向过程与面向对象 在计算机语言发展史中 1-机器语言 2-汇编语言 3-高级语言面向过程语言C语言就是面向过...

  • 对象,一切皆是对象

    1.六个数据保存的地方:寄存器、堆栈、堆、静态存储、常数存储、非RAM存储。 (1)寄存器,位于处理器内部,这是最...

  • 面向对象一

    面向对象基础(一) 什么是面向对象,面向对象的抽象概念 使用对象时,只关注对象提供的功能,不关注其内部细节。如jq...

  • 面向对象(一)

    面向对象(二)面向对象(三) 这部分内容出自于《JavaScript高级程序设计》,共三篇。 ECMA-262把对...

网友评论

    本文标题:JS--window对象(一)

    本文链接:https://www.haomeiwen.com/subject/catlgttx.html