【前端】JavaScript(JS)的BOM对象(JS的Browser对象)----什么是BOM对象?

简介: JavaScript(JS)的BOM对象(JS的Browser对象)----什么是BOM对象:Browser Object Model 浏览器对象模型:将浏览器的各个组成部分封装成对象。

一、概念

Browser Object Model 浏览器对象模型:将浏览器的各个组成部分封装成对象。感觉不懂的可以看下图所示:

2.png

二、组成

   * Window:窗口对象

   * Navigator:浏览器对象(不常用)

   * Screen:显示器屏幕对象(不常用)

   * History:历史记录对象

   * Location:地址栏对象

三、Window:窗口对象

   1. 创建

   2. 方法

        1. 与弹出框有关的方法:

           alert()    显示带有一段消息和一个确认按钮的警告框。

           confirm()    显示带有一段消息以及确认按钮和取消按钮的对话框。

               * 如果用户点击确定按钮,则方法返回true

               * 如果用户点击取消按钮,则方法返回false

           prompt()    显示可提示用户输入的对话框。

               * 返回值:获取用户输入的值

        2. 与打开关闭有关的方法:

           close()    关闭浏览器窗口。

               * 谁调用我 ,我关谁

           open()    打开一个新的浏览器窗口

               * 返回新的Window对象

        3. 与定时器有关的方式

           setTimeout()    在指定的毫秒数后调用函数或计算表达式。

               * 参数:

                   1. js代码或者方法对象

                   2. 毫秒值

               * 返回值:唯一标识,用于取消定时器

           clearTimeout()    取消由 setTimeout() 方法设置的 timeout。

           setInterval()    按照指定的周期(以毫秒计)来调用函数或计算表达式。

           clearInterval()    取消由 setInterval() 设置的 timeout。

               * 返回值:唯一标识,用于取消定时器

   3. 属性:

       1. 获取其他BOM对象:

           history

           location

           Navigator

           Screen:

       2. 获取DOM对象

           document

   4. 特点

       * Window对象不需要创建可以直接使用 window使用。 window.方法名();

       * window引用可以省略。  方法名();

Window 对象方法

方法 描述
alert() 显示带有一段消息和一个确认按钮的警告框。
blur() 把键盘焦点从顶层窗口移开。
clearInterval() 取消由 setInterval() 设置的 timeout。指定某个返回值,就可以取消指定的定时任务。
clearTimeout() 取消由 setTimeout() 方法设置的 timeout。指定某个返回值,就可以取消指定的定时任务。
close() 关闭浏览器窗口。
confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。
createPopup() 创建一个 pop-up 窗口。
focus() 把键盘焦点给予一个窗口。
moveBy() 可相对窗口的当前坐标把它移动指定的像素。
moveTo() 把窗口的左上角移动到一个指定的坐标。
open() 打开一个新的浏览器窗口或查找一个已命名的窗口。
print() 打印当前窗口的内容。
prompt() 显示可提示用户输入的对话框。
resizeBy() 按照指定的像素调整窗口的大小。
resizeTo() 把窗口的大小调整到指定的宽度和高度。
scrollBy() 按照指定的像素值来滚动内容。
scrollTo() 把内容滚动到指定的坐标。
setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式。返回值:唯一标识,用于取消定时器。
setTimeout() 在指定的毫秒数后调用函数或计算表达式。返回值:唯一标识,用于取消定时器。

四、Location:地址栏对象

   1. 创建(获取):

       1. window.location

       2. location

   2. 方法:

       * reload()    重新加载当前文档。刷新

   3. 属性

       * href    设置或返回完整的 URL。

Location 对象属性

属性 描述
hash 设置或返回从井号 (#) 开始的 URL(锚)。
host 设置或返回主机名和当前 URL 的端口号。
hostname 设置或返回当前 URL 的主机名。
href 设置或返回完整的 URL。
pathname 设置或返回当前 URL 的路径部分。
port 设置或返回当前 URL 的端口号。
protocol 设置或返回当前 URL 的协议。
search 设置或返回从问号 (?) 开始的 URL(查询部分)。

Location 对象方法

属性 描述
assign() 加载新的文档。
reload() 重新加载当前文档。刷新页面。
replace() 用新的文档替换当前文档。

五、History:历史记录对象

   1. 创建(获取):

       1. window.history

       2. history

   2. 方法:

       * back()    加载 history 列表中的前一个 URL。

       * forward()    加载 history 列表中的下一个 URL。

       * go(参数)    加载 history 列表中的某个具体页面。

           * 参数:

               * 正数:前进几个历史记录

               * 负数:后退几个历史记录

   3. 属性:

       * length    返回当前窗口历史列表中的 URL 数量。

    注意:history对象只代表当前窗口(即Window对象)的历史记录,并不是浏览器的所有历史记录,这个一定要分清。可查看上图中的2窗口对象。

History 对象属性

属性 描述
length 返回当前Window窗口的历史列表中的 URL 数量。

History 对象方法

方法 描述
back() 加载 history 列表中的前一个 URL。
forward() 加载 history 列表中的下一个 URL。
go() 加载 history 列表中的某个具体页面。有参数的,正数:前进几个历史记录;负数:后退几个历史记录。相当于集成了back()和forwrd()方法。


具体相关属性可以查看W3CSchool官方文档


**本文首发于CSDN,为博主原创文章,如果需要转载,请注明出处,谢谢!**


完结!

相关文章
|
20天前
|
JavaScript 前端开发
如何在 JavaScript 中使用 __proto__ 实现对象的继承?
使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
|
24天前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
23天前
|
缓存 JavaScript UED
js中BOM中的方法
【10月更文挑战第31天】
|
24天前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
11天前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API
使用JavaScript和Node.js构建简单的RESTful API
|
2月前
|
JSON 前端开发 数据格式
前端的全栈之路Meteor篇(五):自定义对象序列化的EJSON介绍 - 跨设备的对象传输
EJSON是Meteor框架中扩展了标准JSON的库,支持更多数据类型如`Date`、`Binary`等。它提供了序列化和反序列化功能,使客户端和服务器之间的复杂数据传输更加便捷高效。EJSON还支持自定义对象的定义和传输,通过`EJSON.addType`注册自定义类型,确保数据在两端无缝传递。
|
2月前
|
JavaScript 前端开发 大数据
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
28 0
|
2月前
|
Web App开发 JavaScript 前端开发
Node.js:JavaScript世界的全能工具
Node.js:JavaScript世界的全能工具
|
2月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
146 2
|
2月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
44 0