javaScript(五):BOM操作

简介: JavaScript 中的 BOM(Browser Object Model)是一组用于操作浏览器窗口的对象和方法集合。BOM 使我们可以通过 JavaScript 访问浏览器窗口的各个组成部分,包括地址栏、菜单栏、历史记录、浏览器的尺寸位置等

1、BOM介绍

什么是BOM

  • BOM(Browser Object Model):流览器对象模型
  • 将浏览器各个组成部分封装成不同的对象,方便我们进行操作

常用的BOM常用对象

BOM常用对象 作用
window 表示浏览器窗口对象
location 表示地址栏对象
history 表示浏览历史记录对象

image-20231210165314871

2、BOM-window对象

2.1、浏览器窗口对象

window:浏览器窗口对象

window中的三个对话框:

window中与对话框有关的方法 作用
alert("提示信息") 弹出一个信息框,只有一个确定按钮
string prompt("提示信息","默认值") 弹出一个输入框,可以输入默认值
boolean confirm("提示信息") 弹出一个确认框,有确定和取消两个按钮,点确定返回true,点取消返回false

获取:直接使用window,其中window可以省略

window.alert("警告框1");
alert("警告框2");

代码演示

<script>
    // alert提示框  (只有确定按钮)
    window.alert("警告框1");
    alert("警告框2");
    // 输入框  (可以输入数据,有确定和取消按钮), 点击确定得到输入的内容, 点击取消得到null
    let name = prompt("请输入名字");
    document.write(name + "<br/>");

    // 确认框  (只有有确定和取消按钮), 点击确定得到true, 点击取消得到false
    let flag = confirm("确定使用嘛");
    document.write(flag + "<br/>");
</script>

2.2、计时器对象

window中计时器有关的方法

window中的方法 作用
setTimeout(函数名, 间隔毫秒数) 过一段时间调用一次指定的函数,只调用一次,方法的返回值就是计时器
setInterval(函数名, 间隔毫秒数) 每隔一段时间调用一次指定的函数,方法的返回值就是计时器

代码演示

function dataFun(){
   
   
    //输出当前时间
    document.write(new Date() + "<br/>");
}


// 定时器
// setTimeout(函数名, 间隔毫秒数) 过指定时间后执行一次函数
setTimeout(dataFun,1000)

// setInterval(函数名, 间隔毫秒数) 每隔指定的时间都会执行前面的函数(反复执行)
setInterval(dataFun,1000)

2.3、案例演示:定时切换图片

需求:每隔一秒,灯泡切换一次状态

image-20231210172058188

<img id="myImage" border="0" src="img/off.gif"/>
<script>
    // 初始图片计数器
let num = 0;

// 定义图片切换函数
function imgChange() {
   
   
  // 判断图片计数器的奇偶性
  if (num % 2 == 0) {
   
   
    // 当计数器为偶数时,切换图片为 on.gif
    document.getElementById("myImage").src = "img/on.gif";
  } else {
   
   
    // 当计数器为奇数时,切换图片为 off.gif
    document.getElementById("myImage").src = "img/off.gif";
  }
  // 每次切换完毕后,计数器加1
  num++;
}

// 定时器,每隔1秒钟调用一次图片切换函数
setInterval("imgChange()", 1000);
</script>

3、BOM-location地址栏对象

location常用属性

属性 功能
href 获取:返回完整的URL
设置:跳转到一个新的页面

获取:使用window.location获取,window可以省略

window.location.方法();
location.方法();

代码演示

<button onclick="hrefFun()">按钮</button>
<script>
    // location的href属性: ?
    document.write(window.location + "<br/>");

    // location的href属性: ?
    function hrefFun(){
   
   
        location.href = "https://www.baidu.com/";
    }
</script>

4、BOM-history历史记录对象

history作用

表示访问过的历史对象,如果没有历史记录,这个对象中的方法不可用

方法 作用
forward() 相当于浏览器上前进按钮,如果浏览器上按钮不可用,这个方法就不起作用
back() 相当于浏览器上后退按钮

获取:使用 window.history获取,其中window. 可以省略

window.history.方法();
history.方法();

注意:

  1. 浏览器上的前进和后退按钮可以点的时候,这个代码才起作用
  2. 读取的是浏览器缓存中数据,如果要访问服务器的数据,需要刷新

代码演示

<a href="01_js_hellowrold.html">跳转</a>
<button onclick="history.forward()">前进</button>
<button onclick="history.back()">后退</button>
相关文章
|
1天前
|
缓存 JavaScript 前端开发
【JavaScript 技术专栏】DOM 操作全攻略:从基础到进阶
【4月更文挑战第30天】本文深入讲解JavaScript与DOM交互,涵盖DOM基础、获取/修改元素、创建/删除元素、事件处理结合及性能优化。通过学习,开发者能掌握动态改变网页内容、结构和样式的技能,实现更丰富的交互体验。文中还讨论了DOM操作在实际案例、与其他前端技术结合的应用,助你提升前端开发能力。
|
1天前
|
缓存 编解码 自然语言处理
前端javascript的BOM对象知识精讲
前端javascript的BOM对象知识精讲
|
2天前
|
存储 缓存 JavaScript
【Web 前端】JS哪些操作会造成内存泄露?
【4月更文挑战第22天】【Web 前端】JS哪些操作会造成内存泄露?
|
5天前
|
JavaScript 前端开发
js操作字符串的相关方法
js操作字符串的相关方法
9 3
|
5天前
|
JavaScript 前端开发
js 操作数组的方法
js 操作数组的方法
15 4
|
6天前
|
JavaScript
js_操作dom(委托和冒泡事件)
js_操作dom(委托和冒泡事件)
8 0
|
9天前
|
JavaScript 前端开发 UED
深入解析JavaScript原生操作DOM技术
【4月更文挑战第22天】本文深入探讨JavaScript原生DOM操作技术,包括使用`getElement*`方法和CSS选择器获取元素,借助`createElement`与`appendChild`动态创建及插入元素,修改元素内容、属性和样式,以及删除元素。通过掌握这些技术,开发者能实现页面动态交互,但应注意避免过度操作DOM以优化性能和用户体验。
|
13天前
|
JavaScript 前端开发
JavaScript BOM 浏览器对象模型
JavaScript BOM 浏览器对象模型
|
16天前
|
存储 JavaScript 前端开发
JavaScript DOM 操作:解释一下 cookie、sessionStorage 和 localStorage 的区别。
Cookie是服务器发送至客户端的文本信息,会随每个请求发送回服务器,适合控制会话状态但可能暴露隐私。SessionStorage仅在当前会话中存储数据,关闭浏览器后清除,适合临时存储如登录状态。LocalStorage则持久保存数据,即使关闭浏览器也不会清除,适用于存储长期设置。三种方式各有侧重,应按需求选择。
16 0
|
16天前
|
JavaScript 前端开发 安全
JavaScript DOM 操作:解释一下浏览器的同源策略。
**同源策略**是浏览器安全基石,它阻止脚本跨不同协议、域名或端口访问资源,防止恶意行为。例如,HTTP页面无法直接用JS获取HTTPS页面内容。**CORS**允许跨域请求,但需服务器配合设置,通过`document.domain`属性可配置,但仍受限于服务器配置。
16 4