红宝书 第8章整理——BOM

本文介绍了浏览器对象模型(BOM)的基础知识,包括window对象的双重角色及其特性、系统对话框的使用方法、计时函数的工作原理,以及location、navigator等对象提供的页面信息和浏览器信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BOM定义:浏览器对象模型

BOM提供了很多对象,用于访问浏览器的功能,与浏览器承载展现的页面无关,只是单纯看浏览器自己的性能参数

1、window对象——BOM核心

window对象比较特别,他有两重含义,首先是单纯代表浏览器的一个窗口,还有一层含义就是他还代表js中的全局Global对象

①、window代表全局作用域时

在全局作用域中声明的变量、函数都会变成window的属性、函数。只是我们一般省略不写。

那么,直接定义全局变量,与在window对象上定义变量的区别:

全局变量不能用delete删除,window对象上定义的可以

var age = 29;
window.color = "red";

delete age;    //此处不会报错,但是不会执行
delete window.age;   //ok


②、 window代表浏览器窗口时

window作为窗口使用时会有一系列方法,比如设置宽高、位置、打开与关闭。但是每个浏览器的函数定义都不太相同,具体涉及到的时候再说。

1、系统对话框

常见的有3中:alert(); confirm(); prompt();

alert:单纯的提示内容,下面只有一个OK,点击就会关闭,与用户没啥交互

confirm:用法与alert一样,参数直接是要显示的内容,但是会有两个按键,一个OK,一个取消。所有confirm函数有返回值,当用户点击OK,返回true,当用户点击取消、或者直接将窗口关闭,则返回false。

prompt:比confirm再多加一个input,供用户输入内容。接受两个参数,第一个参数时提示的内容,第二个参数时默认在input中显示的文字。点击OK,则返回input中的内容,点击取消、或者关闭对话框,返回null。

2、计时函数

js是单线程语言,但是可以通过两个函数来进行延时,为啥在这里讲?因为这俩函数都是window对象自带的方法。

setTimeout()

接受两个参数,第一个是要执行的函数/语句。 可以直接在双引号中写语句,也可以直接function(){....},第二个参数是延时的毫秒数。

注意:js是一个单线程的解释器,所以当你设置了1000毫秒后执行该函数,实际上是经过1000毫秒后,将此函数放入任务队列。如果此时任务队列中没有积攒的任务,则会执行。但是如果队列中海油未完成的任务,那么就要先进行等待。

setInterval()

接受的参数与setTimeout相同,但是第二个参数代表每隔多少秒执行一次。这个函数是一个重复执行的函数。想要停下来,那么就要调用clearInterval(ID);

2、location对象——页面信息

提供了与当前窗口加载的内容相关的信息——说是内容,其实最多就是URL之类的,再具体的就访问不到了

3、navigator对象——浏览器

提供了客户端浏览器的信息,比如浏览器的名称,版本,是否安装了插件等等

4、screen对象+history对象

screen:只是用来代表客户端的能力,可以访问浏览器的宽高,像素之类的

history:保存着用户上网的历史记录,拥有go方法,支持前后跳转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值