js-BOM

BOM

1. BOM的定义

BOM :Browser Object Model 浏览器对象模型

提供了独立于内容而与浏览器窗口进行交互的对象。BOM则由一系列相关的对象构成,并且每个对象提供了很多方法和属性。

DOM v.s. BOM

2. BOM的构成

BOM: document,location, navigation, screen, history

[所以!!BOM包含了DOM]

3. window对象的常见事件

3.1 窗口加载事件:文档内容完全加载就会触发该事件,调用处理函数

window.onload = function() {}//传统方式注册

window.addEventListener(‘load’, function(){})//方法监听方式注册

[好处]:有了window.onload就可以把js代码写到页面元素的上方,但是本质上还是等内容全部加载完毕再执行处理函数。

[ie9以上才支持的]:document.addEventListener(‘DOMContentLoaded’, function(){}),仅当DOM加载完成,就会触发执行函数。如果图片过多,onload触发需要较长的事件,DOMContentLoaded事件会比较合适。

3.2 调整窗口大小事件:常利用本事件完成响应式布局

window.onresize = function() {}

window.addEventListener(‘resize’, function() {})

3.3 定时器

  • window.setTimeout(调用函数, [延迟毫秒数]):这是一个callback回调函数

    var timer1 = setTimeout(fn, 2000);

    var timer2 = setTimeout(fn, 5000);


    清除定时器的方式:window.clearTimeout(timeoutID)

    e.g. 清除上面的timer1定时器

    clearTimeout(timer1);

  • window.setInterval(回调函数,[间隔毫秒数]): 每隔一段时间就会反复调用


    清除定时器的方式:window.clearInterval(intervalID)

3.4 this指向:

this的指向在函数定义的时候是确定不了的,只有在函数执行的时候才能确定this到底指向谁。一般this最终的指向的是调用它的对象。

  • 全局作用域下:this指向全局对象window
  • 方法调用中:this指向调用的对象
  • 构造函数中:this指向构造函数的实例

js-BOM
http://example.com/2023/06/05/js-BOM/
Author
John Doe
Posted on
June 5, 2023
Licensed under