JavaScript BOM

124 阅读2分钟

JavaScript的组成

ECMAScript:js基础语法
BOM(browser object document ):浏览器对象模型
DOM(document object model):文档对象模型

认识BOM(浏览器对象模型)

1. 每个浏览器窗口都是一个window对象,js的根对象就是window(java的根对象是Object)

1. 每打开一个新的窗口都会创建一个新的window对象

1. 每个页面不共享window对象,每个页面的window对象下的属性和方法都是私有的

1. 每次创建的全局变量和函数都属于window对象的属性和方法

BOM的常见属性

1、获取用户设备信息\

window.navigator 获取用户设备信息,返回值是一个对象
window.navigator.appCodeName 用户浏览器名称,返回值字符串
window.navigator.userAgent 获取用户代理商(用户使用设备类型),返回值字符串\

2、获取浏览器地址栏信息 location\

location.href 获取地址栏所有信息
location.host 获取地址栏域名+端口(浏览器默认端口80)
location.hostname 地址栏域名
location.port 地址栏端口号
location.portocol 协议(http/https)
location.reload 重定向(浏览器会拦截)
location.hash 获取地址栏锚点
location.pathname 获取地址栏路径
location.search 获取地址栏?后的字符串

3、设置跳转到新页面\

location.href = 'url';(浏览器有历史记录,可回退,前进)
location.assign('url');(浏览器有历史记录,可回退,前进)
location.replace('url'); 替换到某页,无历史记录,不可回退,前进\

4、history 历史记录\

history.length 在同一个页面中打开了几个页面
history.forward()前进
history.back()后退
history.go(number) 正数前进,负数后退

5、函数的节流和防抖\

目的:解决高频率触发事件导致的占用内存问题
防抖:每次触发后清除定时器,然后再开启定时器
节流:设置一个全局变量,值为布尔值,触发事件后判读布尔值,条件满足执行程序,执行程序时将布尔值取反。达到一定条件后将布尔值复原