BOM基础

BOM基础

BOM概述

BOM就是浏览器对象模型,它提供了独立于内容与浏览器窗口进行交换的对象,其核心是window

BOM是一系列的对象构成,每个对象都提供了一些特定的功能,这些对象都是window的属性。

BOM是没有标准的,这就会导致BOM的兼容性比较差。

BOM的组成

  • document
  • location
  • navigation
  • screen
  • history

window对象

window对象是BOM的核心,它代表浏览器的一个实例,它是全局对象,所有的全局变量都是它的属性,所有的全局函数都是它的方法。

之前使用的alert()confirm()prompt()setTimeout()setInterval()等方法都是window对象的方法。

注意

在声明全局变量的时候,尽量不要使用name作为变量名。因为在window对象里面,包含一个特殊的属性window.name。如果使用name作为变量名,那么window.name就会被覆盖。

location对象

location对象是window对象的属性,它代表当前窗口的URL信息。并且他可以解析URL,返回的值也是一个对象。

location对象的属性

location对象属性 返回值
location.href 获取或者设置整个URL
location.host 返回主机(域名)
location.port 返回端口号,如果未填写 返回空字符串
location.pathname 返回路径
location.search 返回参数
location.hash 返回片段 #后面内容 常见于链接锚点

location对象的方法

location对象方法 返回值
location.assign() 跟href一样,可以跳转页面(也成为重定向页面)(记录历史)
location.replace() 替换当前页面,因为不记录历史,所以不能后退界面
location.reload() 重新加载页面,相当于刷新,如果参数为true 则为强制刷新

navigator对象是window对象的属性,它代表浏览器的信息。
我们最常用的就是useAgent属性,它可以返回由客户机发送服务器的user-agent头部的值。

history对象

window对象给我们提供了一个history对象,它可以让我们操作浏览器的历史记录。该对象包含了用户(在浏览器窗口中)访问过得URL。

history对象方法 作用
back() 可以回退功能
forward() 前进功能
go(参数) 前进后退功能,参数如果是1 前进一个页面 -1 后退一个页面