BOM简介

  BOM(浏览器对象模型)让JavaScript可以和浏览器进行交流。

一  BOM是什么

         当我们使用浏览器打开一个网页时,浏览器会为该页面创建一个窗口,专门用于展示该网页的内容。这时浏览器会在内存中创建一个对象,专门用于记录描述该窗口的属性和状态变化等信息,这个对象就被称为浏览器对象模型,通常我们也叫它全局对象。

         BOM的核心是一个window对象,一定程度上window对象即代表了这个浏览器窗口。BOM不像DOM和JavaScript那样有自己的标准,它最开始只是Netscape浏览器标准的一小部分,而现代浏览器都实现了自己的BOM,但是为了能与JavaScript交互,各大浏览器都实现了一些相同的属性和方法,所以我们在使用BOM时请注意他们的兼容性问题

  另外,如果文档包含框架(在一个页面中使用了iframe或frame标签),浏览器将为该标签创建一个新的window对象,并把它保存在父window对象的frames属性中。

二  BOM核心

       上面已经提到,BOM的核心是一个window对象,这个window对象又包含了5个核心对象:

       document:文档对象

       history:客户端浏览历史记录

       location:网页地址

       navigator:客户端浏览器信息

       screen:客户端屏幕信息

 

三  window对象常用方法和属性

       Window对象是全局对象,所有的表达式都在该环境中计算,所有没有显式的指定归属的方法和变量都将被归到window对象,成为window的属性和方法。所以当我们在使用window的方法时,完全不用像以前一样通过点的方式调用。

  例如我们之前常用的alert(),而不用写window.alert().

      

  1,属性

          innerheight:文档显示区的高度(整数)

    innerwidth:文档显示区的宽度(整数)

    name:设置或获取窗口的名称

    status:设置状态栏显示的文本

    下面四个属性都是只读的,表示窗口的左上角在整个显示器屏幕上的坐标。返回值是整数。

    screenLeft/screenX

    screenTop/screenY

     

  2,方法

           alert()

           confirm()

           prompt()

    这3个提示框在我的第一篇博文《JavaScript基本概念(一)》中就讲过了,这里不再赘述。

           open():打开新的窗口或查找一个已命名的窗口。

           close():关闭窗口。

           setInterval()

           setTimeuut()

    这两个是定时器,在web开发中使用频率很高,以后会单独讲解。

   load:文档加载完毕事件(包含所有资源)。

   DOMContentLoaded:DOM树加载完毕事件(不包含样式,图片等资源)。

   resize:浏览器窗口尺寸变化事件。

 

  一般来说,Window 对象的方法都是对浏览器窗口或框架进行某种操作。而 alert() 方法、confirm() 方法和 prompt 方法则不同,它们通过简单的对话框与用户进行交互。

  window对象还有很多其他的属性和方法,想了解更多可以打开任意网址,F12打开控制台,输入window即可返回Window对象。

 

 

原文地址:https://www.cnblogs.com/ruhaoren/p/11395258.html