[笔记]JavaScript学习笔记(2)

来源:互联网 发布:手机拼长图用什么软件 编辑:程序博客网 时间:2024/06/05 18:19
文档对象模型

?????? 我们打开一个网页,承载这个网页的是浏览器,浏览器为了显示该网页内容,会以“窗口 ( Window )”的形式把网页内容展现给浏览者;而这个网页用编程的眼光来看,它是一个“文档 ( Documnent )”对象。不仅如此,浏览器自身作为一个软件 ( 不是网页 ),它自有的一些状态信息,如浏览器目前所处于什么分辨率的“屏幕 ( Screen )”中,浏览器“导航 ( Navigator )”前进/后退的索引,一些基本的对页面框架结构有利的“客户端 ( Location )”信息等等。这些信息,有时候对网页编程者来说,也是需要让你的网页代码知道的——注意:这些信息可以通过JavaScript代码得到,但不能控制这些信息——为了安全起见,你不可能通过你的网页编程,控制客户端程序 (浏览器就是客户端的一个软件) 运行的状态。
?????? 因此,外国人 (尤其是使用英语的外国人) 就用英文名词作为一种面向对象的脚本序语言作为“对象 ( Object ) ”的“名称”。根据上段文字的描述,应该有以下的“对象”名称:Window, Navigator, Screen, History, Locationg, Document 。他们的层次如图:

层次示意

????? [ Window Object ]:最高层的对象,该对象包含呈现在浏览器窗口中的完整的HTML文档内容的区域,在多框架网页环境中,每一个框架是一个Windows对象,是对象层次的组外层成员。
?????? [ Navigator Object ]:该对象是浏览器程序本身的一个信息,对JavaScript代码来说,这些信息是只读的( 为了保护浏览器程序不受非法的JavaScript代码干扰 ),这些信息用于读取浏览器的品种、版本等信息,并保持当前的浏览网页的内容信息。
?????? [ Screen Object ]:只读对象,使JavaScript代码获取浏览器运行的物理环境(屏幕分辨率等信息)。
?????? [ History Object ]:浏览器近期访问过的所有历史页面的顺序索引及链接,JavaScript无法获取到History内部的细节,主要用于页面[前进]/[后退]导向。
?????? [ Location Object ]:主要提供加载不同页到当前窗口或框架,JavaScript无法跟踪访问到其他站点。
?????? [ Document Object ]:加载到窗口的每一个HTML文档对象,每个Documnent包含脚本、HTML元素。例如每一个Html页面都包含最基本的等标签元素。该对象是最为丰富页面效果和信息的对象。