JavaScript—BOM的相关对象。

简介: BOM即浏览器对象模型(browserobjectmodel),其提供了一系列接口供开发者使用JavaScript与浏览器窗口进行交互。BOM没有自己的标准,在浏览器中window对象就是BOM相关内容的入口。

@[TOC]

1.什么是BOM

BOM 即浏览器对象模型(browser object model),其提供了一系列接口供开发者使用 JavaScript 与浏览器窗口进行交互。
BOM 没有自己的标准,在浏览器中 window 对象就是 BOM 相关内容的入口。

2.常用的 BOM 相关对象

通常与 BOM 相关的常用对象有:

Location 当前页面地址相关信息,如当前页面地址
Navigator 当前浏览器相关信息,如浏览器版本
Screen 包含屏幕相关信息,如屏幕的长宽
History 浏览器的历史相关信息,如返回上一页

2.1Location

window.location 只读属性,返回一个 Location 对象,其中包含有关文档当前位置的信息

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>BOM</title>
</head>
<body>
    <script>
        var window = this; 
        window.location.href = 'https://bilibili.com'; 
    </script>
</body>
</html>

一打开运行,就会跳转到bilibili主页

2.2Navigator

只读属性 Window.navigator 会返回一个 Navigator 对象的引用,可以用于请求运行当前代码的应用程序的相关信息。常用的只有一个userAgent属性

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>BOM</title>

</head>
<body>

    <script>
         //该属性包含了一些浏览器、操作系统、设备等信息
        console.log(navigator.userAgent);       

    </script>

</body>

</html>

在这里插入图片描述

2.3 Screen

返回当前window的screen对象。screen对象实现了Screen接口,它是个特殊的对象,返回当前渲染窗口中和屏幕有关的属性。

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>BOM</title>

</head>

<body>

    <script>
        var screenWidth = window.screen.width;
        var screenHeight = window.screen.height;

        console.log('分辨率: ' + screenWidth + 'x' + screenHeight);
    </script>

</body>

</html>

输出屏幕当前分辨率

2.4 History

Window.history是一个只读属性,用来获取History 对象的引用,History 对象提供了操作浏览器会话历史。
history 主要用于操作浏览器历史相关的内容,如前进、后退。

通常用的最多的就是history.back(),即返回上一页。
由代码实现比较抽象,所以我选选择在控制台演示:
我打开了CSDN的主页,并在控制台写了history.back();
在这里插入图片描述
回车后:
在这里插入图片描述
回到了我的上一页。

3.小结

BOM还有一个常用的属性和方法,我将会写在下一节。

相关文章
|
16天前
|
JavaScript 前端开发
如何在 JavaScript 中使用 __proto__ 实现对象的继承?
使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
|
19天前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
18天前
|
缓存 JavaScript UED
js中BOM中的方法
【10月更文挑战第31天】
|
19天前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
1月前
|
存储 JavaScript 前端开发
JavaScript 对象的概念
JavaScript 对象的概念
38 4
|
1月前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
34 1
|
1月前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
16 2
|
1月前
|
JavaScript 前端开发 Unix
Node.js 全局对象
10月更文挑战第5天
29 2
|
1月前
|
存储 JavaScript 前端开发
js中的对象
js中的对象
19 3
|
1月前
|
JavaScript 前端开发 大数据
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
21 0