BOM | 青训营笔记

101 阅读2分钟

BOM | 青训营笔记

这是我参与「第四届青训营 」笔记创作活动的的第3天

BOM浏览器对象模型

window对象

BOM的核心对象是window,它表示浏览器的一个实例。
它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。

location对象

location是最有用的BOM对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能

查询字符串参数

function getQueryStringArgs(){
var qs = (location.search.length > 0 ? location.search.substring(1) : " "),
args = {},
items = qs.length ? qs.split("&") : [],
item = null,
name = null,
value = null,
i = 0,
len = items.length;
for (i=0; i<len; i++){
item = items[i].split("=");
name = decodeURIComponent(item[0]);
value = decodeURIComponent(item[1]);
if(name.length){
args[name] = value;
}
}
return args
}

位置操作

  • assign()为其传递一个URL(window.location和location.href效果一样)
  • 修改location对象的其他属性也可以改变当前加载的页面。hash、search、hostname、pathname和port
  • reload()重新加载当前显示的页面

navigator对象

最早由Netscape Navigator 2.0引入的navigator对象,现在已经成为识别客户端浏览器的事实标准

screen对象

screen对象基本上只用来表明客户端的能力,其中包括浏览器窗口外部的显示器的信息,如像素宽度和高度等

history对象

history对象保存者用户上网的历史记录,从窗口被打开的那一刻算起
go() 方法可以在用户的历史记录中任意跳转,可以向后也可以向前。back()forward() 可以代替go()

总结

浏览器对象模型(BOM)以window对象为依托,表示浏览器窗口以及页面可见区域。同时,window对象还是ECMAScript中的Global对象,因而所有全局变量和函数都是它的属性,且所有原生的构造函数以及其他函数也都存在于它的命名空间下。

本文若有不足之处,欢迎纠正。