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还有一个常用的属性和方法,我将会写在下一节。

相关文章
|
8天前
|
JavaScript
JS 获取对象数据类型的键值对的键与值
JS 获取对象数据类型的键值对的键与值
|
18天前
|
JavaScript 前端开发
Math对象:JavaScript中的数学工具
Math对象:JavaScript中的数学工具
26 1
N..
|
25天前
|
存储 JavaScript 前端开发
JavaScript中的对象
JavaScript中的对象
N..
10 0
|
11天前
|
JavaScript 算法
原生JS完成“一对一、一对多”矩形DIV碰撞检测、碰撞检查,通过计算接触面积(重叠覆盖面积)大小来判断接触对象DOM
原生JS完成“一对一、一对多”矩形DIV碰撞检测、碰撞检查,通过计算接触面积(重叠覆盖面积)大小来判断接触对象DOM
|
3天前
|
JavaScript
【Js】检查Date对象是否为Invalid Date
【Js】检查Date对象是否为Invalid Date
6 0
|
3天前
|
存储 JavaScript 前端开发
JavaScript的引用数据类型主要包括对象
【4月更文挑战第16天】JavaScript的引用数据类型主要包括对象
16 4
|
8天前
|
JavaScript
js 字符串String转对象Object
该代码示例展示了如何将一个以逗号分隔的字符串(`&#39;1.2,2,3,4,5&#39;`)转换为对象数组。通过使用`split(&#39;,&#39;)`分割字符串并`map(parseFloat)`处理每个元素,将字符串转换成浮点数数组,最终得到一个对象数组,其类型为`object`。
|
16天前
|
存储 JavaScript 前端开发
在浏览器中存储数组和对象(js的问题)
在浏览器中存储数组和对象(js的问题)
|
18天前
|
JavaScript 前端开发
深入了解 JavaScript 中的 DOM 和 BOM
深入了解 JavaScript 中的 DOM 和 BOM
17 4
|
26天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可为任意类型,有序且支持get、set、has、delete操作;Set存储唯一值,提供add、delete、has方法。两者皆可迭代。示例展示了Map和Set的基本用法,如添加、查询、删除元素。
13 2