JavaScript—BOM

发布时间 2023-09-01 19:34:24作者: Dr丶云幕

概念

BOM(Browser Object Model)是指浏览器对象模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的window对象是BOM的顶层对象,其他对象都是该对象的子对象。我们在浏览器中的一些操作都可以使用BdM的方式进行编程处理,比如:刷新浏览器、后退、前进、在浏览器中输入URL等。

Window对象

Window是浏览器的顶级对象,调用Window下的属性和方法时,可以省略Window

Window对象
// 场景1
        let obj = {
            name: 'example',
            fx: function () {
                console.log(this)
            }
        }
        let temp = obj.fx
        temp()      // window.temp()
// 场景2
        function f() {
            return function () {
                console.log(this);
            }
        }
        window.f()()
// 场景3-内置函数
        window.alert("000")
        prompt("01")

定时器

setInterval与setTimeout
         let time = setInterval(function () {
            let date = new Date()
            document.querySelector("#time").innerHTML = date.toLocaleString()
        }, 1000)
        document.querySelector("#btn").onclick = function () {
            window.clearInterval(time)
        }
        setTimeout(function () {
            let date = new Date()
            document.querySelector("#time").innerHTML.toLocaleString()
        }, 10000)

onload加载

方法用于在网页加载完毕后立刻执行的操作,即当 HTML 文档加载完毕后,立刻执行某个方法。

查看代码
// document.querySelector("#bg").style.backgroundColor = "#F00";
        window.onload = function () {
            document.querySelector("#bg").style.backgroundColor = "#F00";
        }

location

查看代码
 <input type="button" value="跳转" id="btn"/>
<script>
  //对象中的属性和方法
  //location对象
  console.log(window.location);
  //地址栏上#及后面的内容(包括#)
  console.log(window.location.hash);
  //主机名及端口号
  console.log(window.location.host);
  //主机名
  console.log(window.location.hostname);
  //文件的路径---相对路径
  console.log(window.location.pathname);
  //端口号
  console.log(window.location.port);
  //协议
  console.log(window.location.protocol);
  //搜索的内容 ?后面
  console.log(window.location.search);

  onload=function () {
    document.querySelector("#btn").onclick=function () {
      //设置跳转的页面的地址
      location.href="http://www.baidu.com";//属性----------------->必须记住
      //location.reload();//重新加载--刷新
      //location.replace("http://www.baidu.com");//没有历史记录
    };
  };

</script>

历史histry

前进
  <a href="history后退.html">跳转</a>
    <input type="button" value="前进" id="btn" />
    <script>
        document.querySelector("#btn").onclick = function () {
            window.history.forward();
        }
    </script>
后退
<input type="button" value="后退" id="btn"/>
<script>
    document.querySelector("#btn").onclick=function () {
        window.history.back();
    }
</script>

本地存储localStorage

查看代码
   <input type="button" value="获取本地存储数据" id="btn" />
  <script>
    window.onload = function () {
      window.localStorage.setItem("stu", JSON.stringify({ id: 1, name: "jack" }))
    }
    document.querySelector("#btn").onclick = function () {
      let stu = JSON.parse(localStorage.getItem("stu"))
      console.log(stu);
    }