在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
前端浏览器对象模型BOM常用对象介绍,BOM即Broswer Object Model 浏览器对象模型,在JavaScript中可以理解为window对象,用来进行与浏览器相关的一些操作,学习BOM就是学习 JavaScript中的window对象。

一、window对象
BOM的核心对象是 window,它代表浏览器的一个实例。在浏览器中,window有着双重的角色:JavaScript访问浏览器的接口对象,ES中的Global对象意味着网页中的任何一个对象,变量,函数都是以window作为其Global对象。
1、全局作用域,在ECMAScript中,window对象扮演着Global对象的角色,也就是说,所有在全局作用域声明的变量,函数都会变成window的属性和方法,都可以通过 window.属性名(或方法名) 直接调。
2、导航和打开窗口,通过 window.open() 既可以导航到一个特定的URL,也可以打开一个新的浏览器窗口
二、location对象
[^location 是最有用的BOM对象之一,它提供了与当前窗口中加载的文档有关的信息]: JavaScript高级程序设计。
注: window.location 和 document.location?引用的是同一个对象。location 既是 window 对象的属性,也是 document?对象的属性。
三、 navigator对象
navigator 对象主要用来获取浏览器的属性,区分浏览器类型;
navigator 对象属性较多,且兼容性比较复杂。
四、history对象
history 对象保存着用户上网的历史记录,从窗口被打开的那一刻算起,因为 history 是 window 对象的属性,因此每个浏览器窗口,每个标签乃至每个框架,都有自己的 history对象与特定的 window 对象关联。
总结浏览器对象模型BOM中常用的对象有navigator,window, location, history
window既是 JavaScript 的全局对象,也是BOM的一个实例,所有的全局方法,属性,BOM中的属性,都可以通过 window. 来调用;
window作为BOM的实例,最常用的几个方法分别是:window.open(),window.close(),,分别用来打开和关闭浏览器窗口页面,这里需要注意的是,通过 open 方法打开的页面,才能通过close 方法关闭;
location对象也是用的比较多的一个BOM对象,主要用来操作URL相关的一些信息,除了修改 Hash 之外的任何属性,页面都会重新加载,历史记录会多加一条历史记录;
location对象还有一个 reload() 方法用于手动重新加载页面,该方法接收一个可选参数,为 true 的时候表示从服务器重新加载,否则可能从浏览器缓存中重新加载页面;
location对象 还有一个比较特殊的方法,location.replace(),该方法可以覆盖当前页面并重新加载,同时不会在 history 中生成历史记录;
navigator对象主要用来获取浏览器相关的一些信息,使用的时候需要注意兼容性。可以用来获取浏览器类(Chrome,safrai,FireFox,Edge,IE)等;
history对象主要用来操作浏览器URL的历史记录,可以通过参数向前,向后,或者向指定URL跳转。可以通过 length 属性获取记录数,判断当前页面是否是打开的首个页面;
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
前端如何调用后端接口?有哪几种方式?
一般来讲,前端不会给后端接口,而是后端给前端接口的情况比较普遍。一些人可能不理解接口和前端开发的关系,其实不合适的接口设计会极大地影响用户的页面体验。那么今天我们就来看看,前端如何调用后端接口?有哪几种方式?
27616
2019-10-12 14:30:44
什么是Web性能监控?它有什么用处?
关于Web的性能监控相信大家或多或少都有所了解,那么什么是Web性能监控?它有什么用处呢?顾名思义,就是监控Web的性能。具体来讲,就是我们打开一个网站的页面需要多久之类的。Web性能监控的好处和作用是显而易见的,优化好了Web的性能,才能给用户更好的体验感从而提升用户留存率。本文就来带领大家全面认识一下Web性能监控,感兴趣的朋友就接着看下去吧!
10182
2020-01-15 16:54:30
JS数据结构与算法基础知识在线学习
以前常常听到前后端分离的说法,近几年有了翻天覆地的变化。在前、后端界限融合,效率当先的时代,掌握数据结构与算法知识变得尤其重要。因此博学谷推出了可以帮助前端工程师进阶的相关课程,现在让我们一起来在线学习, JS数据结构与算法的基础知识吧!
6732
2020-07-24 18:30:27
系统了解静态页面和动态页面的区别
什么是静态页面?什么是动态页面?两者有什么区别?很多不了解前端技术的人可能会认为静态页面就是一个内容固定不变,没有任何效果的页面,而动态页面则是页面非常丰富,有各种交互效果和动态效果的页面。其实这个理解是错误的。通过本篇文章的阅读,详细为大家分享一下静态页面和动态页面到底是什么,两者有什么区别。
14364
2020-08-03 12:03:16
参加前端培训能达到就业的水平吗?
参加前端培训能达到就业的的水平吗?这个问题的答案是肯定的。这也正是现在越来越多的同学在面临就业时,选择参加技术培训的主要原因之一。为了能让同学们能更明确地认识到参加前端培训的学习效果和就业情况,我们从以下四个方面来聊聊为什么说参加前端培训能达到就业的水平。
7627
2020-08-07 10:12:26
