【前端】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,为博主原创文章,如果需要转载,请注明出处,谢谢!**


完结!

相关文章
|
4月前
|
JavaScript 前端开发
如何在 JavaScript 中使用 __proto__ 实现对象的继承?
使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
|
4月前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
7天前
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
1月前
|
JavaScript 前端开发
JavaWeb JavaScript ③ JS的流程控制和函数
通过本文的详细介绍,您可以深入理解JavaScript的流程控制和函数的使用,进而编写出高效、可维护的代码。
75 32
|
7天前
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
3月前
|
JavaScript 前端开发
【JavaScript】——JS基础入门常见操作(大量举例)
JS引入方式,JS基础语法,JS增删查改,JS函数,JS对象
|
4月前
|
JavaScript 前端开发 Java
springboot解决js前端跨域问题,javascript跨域问题解决
本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
springboot解决js前端跨域问题,javascript跨域问题解决
|
4月前
|
JSON 前端开发 JavaScript
JavaScript中对象的数据拷贝
本文介绍了JavaScript中对象数据拷贝的问题及解决方案。作者首先解释了对象赋值时地址共享导致的值同步变化现象,随后提供了五种解决方法:手动复制、`Object.assign`、扩展运算符、`JSON.stringify`与`JSON.parse`组合以及自定义深拷贝函数。每种方法都有其适用场景和局限性,文章最后鼓励读者关注作者以获取更多前端知识分享。
51 1
JavaScript中对象的数据拷贝
|
4月前
|
JavaScript 前端开发
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
|
4月前
|
存储 前端开发 JavaScript
前端中对象的深度应用与最佳实践
前端对象应用涉及在网页开发中使用JavaScript等技术创建和操作对象,以实现动态交互效果。通过定义属性和方法,对象可以封装数据和功能,提升代码的组织性和复用性,是现代Web开发的核心技术之一。

热门文章

最新文章