js BOM对象

本文深入讲解了BOM(浏览器对象模型)的概念,包括Window、Navigator、Screen、Location和History对象的功能与使用。探讨了对话框、延时与间隔函数的作用及原理,并介绍了窗口大小、页面加载、滚动和导航事件。

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

js BOM对象

  • BOM对象是什么?

  • BOM(Brower Object Model) 浏览器对象模型

  • BOM对象的组成
    BOM对象的组成

1.Window对象

window对象代表一个是浏览器中的一个窗口(页面)
全局变量会作为window对象的属性,全局函数会作为window对象的属性

//window 全局
    var a=3;//全局变量
    function input(){//函数
        var a=10;//局部变量
        console.log(a);//10
        console.log(window.a)//3
    }
    window.input();//window.函数名调用函数

window全局

注意:下面的函数可以省略window.

函数名功能参数返回值
alert()弹出一个只有确认功能的对话框对话框上显示的字符串undefined
confirm弹出一个有确认、取消按钮的对话框对话框上显示的字符串确认:true 取消:false
prompt弹出一个可以输入文本的提示框对话框上显示的字符串,文本框的默认值确认:返回输入的值 取消:null
 //对话框
        function dialogBox() {//函数
            return alert('真的累!');//返回值 undefined
         // return confirm('你真的累吗')//返回值 确定:true 取消:false
        //  return prompt('你现在累不累');//返回值 确定:返回输入的字符串 取消null
        }
        console.log(dialogBox());//调用函数 返回值

alert
confirm
prompt

上面三个对话框的特点
模态,触发后不可点击页面别的地方
触发后会停止JS运行
无法改变样式,其样式会随着浏览器的改变而改变

  • 延时函数

var 变量名=setTimeout(funtion(){},时间)
(var 变量名可省略)
功能:延时一定的时间后执行代码,执行一次
参数:要做的事情,时间
返回值:数值id
时间的值为毫秒

//setTimeout(要做的事情,时间) 延时函数
        //例如:三秒钟之后,在控制台输出hello world
        console.log('开始页面')//控制台输出‘开始页面’
        setTimeout(function () {
            console.log('好点了!!!');//3秒后输出‘好点了’
        }, 3000)
        console.log('结束页面')//控制台输出‘结束页面’

setTimeout
下面让我们来思考一个问题 代码如下

 console.log('新的一天');
        setTimeout(function () {
            console.log('我先执行!')
        },0)
        console.log('不对,我先执行!');   

输出的顺序是什么?
结果如下
setTimeout

为什么会这样呢?我的时间不是都已经设为0了吗?要解释这个问题,我们就要先了解下setTimeout的执行原理是什么
setTimeout的执行原理大致就是执行到setTimeout的时候,浏览器会先将setTimeout放到一个队列中,然后执行下面的语句,等都执行完之后,再将setTimeout拿出来执行,所以即使参数为0,但他依然会最后执行
clearTimeout(id)的功能为取消setTimeout

console.log('新的一天');
        var id=setTimeout(function () {
            console.log('我先执行!')
        },0)
        clearTimeout(id);
        console.log('不对,我先执行!');

clearTimeout

  • 间隔函数

var 变量名=setInterval(funtion(){},时间)
(var 变量名可省略)
功能:间隔一定的时间后执行代码 一直执行
参数:要做的事情,时间
返回值:数值id
时间的值为毫秒

//setInterval
        setInterval(function(){
         console.log('开心?');
        },1000)

setInterval

clearInterval(id)的功能为取消setInterval

 //clearInterval
        console.log('取消setInterval')
        var a=setInterval(function () {
            console.log('开心?');
        }, 1000)
        clearInterval(a);

clearInterval

  • window常用事件

window.onload
功能:当所有的HTML元素和js代码加载完之后,执行window.onload()事件

xxx.onclick
功能:点击事件,当有元素被点击时,可以调用onclick()事件

window.onscroll
功能:当页面滚动的时候就会调用window.onscroll()事件

  • 窗口大小
函数名功能参数返回值
window.innerHeight可视区高度像素
window.innerWidth可视区宽度像素
window.outerHeight浏览器窗口高度像素
window.outerWidth浏览器窗口宽度像素

2.Navigator对象

userAgent 浏览器的信息
console.log(navigator.userAgent);

3.Screen对象

Screen对象表示用户的屏幕相关信息

函数名功能参数返回值
screen.heigth返回屏幕分辨率的高像素
screen.width返回屏幕分辨率的宽像素
screen.avaiHeight返回屏幕可用高度像素
screen.avaiWidth返回屏幕可用宽度像素
4.Location对象
属性含义事例
Hash(哈希)‘#’后面的字符串,包含‘#’#auto/zh/
hostname主机名www.cnblogs.com
href全路径https://www.csdn.net
search参数列表?xxx
port端口号默认为“”
pathname服务器路径主机名后面的一直到html结束,例如exciting/p/10640257.html
protocol协议http或https

下面看例子
https://fanyi.baidu.com/translate?aldtype=16047&query=&keyfrom=baidu&smartresult=dict&lang=auto2zh#auto/zh/
location对象

  • location对象方法
函数名功能参数返回值
location.assign打开新的页面url
location.replace替换当前页面且无法回到前一个页面url
location.reload重新加载false:可能从缓存中从新加载 true:强制从服务器中加载

5.History对象

\
函数名功能参数
history.back()返回上一次的页面
history.go()返回一定次数的页面负数
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值