BOM核心之window对象(总结分享)

轻辰君_9649

轻辰君_9649

2022-08-04

2255人浏览

转载

本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于windows对象的常见事件的相关问题,window对象是浏览器的顶级对象,定义在全局作用域中的变量、函数都会变成window对象的属性和方法,下面一起来看一下,希望对大家有帮助。

【相关推荐:javascript视频教程、web前端】

1 BOM 概述

1.1 什么是 BOM

BOM ( Browser Object Model )即浏 览 器 对 象 模 型, 它提供了独立于内容而与浏 览 器 窗 口 进 行 交 互 的 对 象,其核心对象是window。

BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。

BOM缺乏标准, JavaScript语法的标准化组织是ECMA , DOM的标准化组织是W3C , BOM最初是Netscape浏览器标准的一部分。

页面 后退,前进,刷新,窗口大小,滚动等,都可以使用BOM

D O M 

文档对象模型

DOM就是把文 档 当做一个对 象来看待

DOM的顶级对象是d o c u m e n t 

DOM主要学习的是操作页面元素

DOM是W3C标准规范

B O M

浏览器对象模型

把color浏 览 器当做一个对 象来看待

BOM的顶级对象是w i n d o w 

BOM学习的是浏览器窗口交互的- -些对象

BOM是浏览器厂商在各自浏览器上定义的,兼容性较差

对比BOM 和 DOM 在浏览器中的区域

在这里插入图片描述

1.2 BOM 的构成

BOM 比 DOM更大 , 它包含DOM。

在这里插入图片描述

javascript-pro
javascript-pro

专注现代 ECMAScript、异步编程、性能优化和全栈的 JavaScript 专家,适用于现代开发

下载

window对象是浏览器的顶级对象,它具有双重角色。

1.它是 JS 访问浏览器窗口的一一个接口。

2.它是一个全局对象。 定义在全局作用域中的变量、函数都会变成window对象的属性和方法。

注意: window下的一个特殊属性window.name

eg 05-BOM顶级对象window.html

html>
  <meta>
  <meta>
  <meta>
  <title>Document</title>
  <script>
    // window.document.querySelector();
    var num = 10;
    console.log(num); // 10
    console.log(window.num);  // 10
    function fn() {
      console.log(11);
    }
    fn();  // 11
    window.fn();   // 11
    // alert(11);
    // window.alert(11);
    console.dir(window);
    // var name = 10;  // 声明对象最好不要用  name
    console.log(window.name);
  </script>

在这里插入图片描述

2 window对象的常见事件

2.1 窗口加载事件

window.onload = function() {}或者
window.addEventListener ("load",function(){}) ;

window.onload是窗口页面)加载事件 , 当文档内容完全加载完成会触发该事件(包括图像、脚本文件、CSS文件等) , 就调用的处理函数。

注意:

  • 有了window.onload就可以把JS代码写到页面元素的上方,因为onload是等页面内容全部加载完毕, 再去执行处理函数。

  • window.onload传统注册事件方式只能写一次 , 如果有多个,会以最后一个window.onload 为准。

  • 如果使用addEventListener则没有限制

document.addEventListener('DOMContentLoaded',function() {})

DOMContentLoaded事件触发时 , 仅当DOM加载完成 , 不包括样式表,图片, flash等等。

le9以上才支持

如果页面的图片很多的话 , 从用户访问到onload触发可能需要较长的时间,交互效果就不能实现,必然影响用户的体验 , 此时用DOMContentLoaded事件比较合适。

eg 06-window 常用事件 onload.html

html>
  <meta>
  <meta>
  <meta>
  <title>Document</title>
  
  <script>
    // window.onload = function() {
    //   var btn = document.querySelector('button'); // 获取按钮
    //   btn.addEventListener('click', function() {   // 添加点击事件click
    //     alert('点击我');  // 弹出对话框
    //   })
    // }
    // window.onload = function() {
    //   alert(22);
    // }

    // 先弹出33,再弹出22,之后点击按钮,弹出点击我
    window.addEventListener('load',function() {
      var btn = document.querySelector('button'); // 获取按钮
      btn.addEventListener('click', function() {   // 添加点击事件click
        alert('点击我');  // 弹出对话框
      })
    })
    window.addEventListener('load',function() {
      alert(22);
    })
    document.addEventListener('DOMContentLoaded',function() {
      alert(33);
    })
    // load 等页面内容全部加载完毕才会去执行,包含页面dom元素  图片  flash  css 等等
    // DOMContentLoaded 是 DOM 加载完毕  不包含图片 flash css 等就可以执行  加载速度比  load 更快一些

  </script>
  <button>点击</button>
上面代码部分使用被注释,整体执行效果为:先弹出33,再弹出22,之后点击按钮,弹出点击我

2.2 调整窗口大小事件

window.onresize = function() {}window.addEventListener ("resize", function() {});

window . onresize是调整窗口大小加载事件,当触发时就调用的处理函数。

注意:

  • 只要窗口大小发生像素变化,就会触发这个事件。

  • 我们经常利用这个事件完成响应式布局。window.innerWidth 当前屏幕的宽度

eg. 07-调整窗口大小事件.html

效果:页面大于800像素方框显示,小于800不显示

html>


  <meta>
  <meta>
  <meta>
  <title>Document</title>
  <style>
    div {
      width: 200px;
      height: 200px;
      background-color: pink;
    }
  </style>
  <script>
    window.addEventListener('load', function() {
      var div = document.querySelector('div');
      window.addEventListener('resize',function() {
      console.log(window.innerWidth);  
      console.log('变化了');
      if(window.innerWidth <= 800) {
        div.style.display = 'none';  
      } else {
        div.style.display = 'block';
      }
    })
    })
  </script>
  <div></div>

【相关推荐:javascript视频教程、web前端】

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

javascript

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

2023.10.19

3208

3

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

5229

12

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.12.29

3869

9

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

2026.01.19

486

15

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4736

8

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.28

1415

5

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1858

5

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

2023.08.17

10283

11

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

2023.09.01

1020

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WebStorm 官方调试文档
WebStorm 官方调试文档

共0课时 | 0人学习

React 教程
React 教程

共58课时 | 12.4万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 6.8万人学习