1 BOM(Browser Object Model)

BOM(Browser Object Model,浏览器对象模型)是JavaScript中用于与浏览器窗口进行交互的对象集合。它提供了独立于HTML文档内容的、操作浏览器窗口和导航的方法。

对象 描述 常用属性 / 方法 用途示例
window BOM 核心对象,代表浏览器窗口 属性: innerWidth, innerHeight, outerWidth, outerHeight方法: alert (), confirm (), prompt (), setTimeout (), setInterval () 获取窗口尺寸、弹窗提示、定时器操作
navigator 包含浏览器基本信息 属性: userAgent, platform, language, cookieEnabled 检测浏览器类型、操作系统、语言设置
location 包含当前页面 URL 信息 属性: href, protocol, host, pathname, search方法: reload (), assign (), replace () 页面跳转、获取 URL 参数、刷新页面
history 包含用户访问历史 方法: back (), forward (), go (n)属性: length 前进后退页面、控制浏览历史
screen 包含客户端屏幕信息 属性: width, height, availWidth, availHeight, colorDepth 获取屏幕分辨率、可用显示区域
document 代表当前 HTML 文档 (DOM 核心) 属性: title, URL, domain方法: getElementById (), querySelector () 操作页面元素、获取文档信息

部分代码和结果演示:

1.window对象(BOM核心,代表浏览器窗口)

<script>
      // 常用属性:获取窗口大小
    console.log("==== window 对象====");
    console.log("窗口内部高度:",window.innerWidth);
    console.log("窗口内部宽度:",window.innerHeight);
    // 常用方法:弹窗、定时器
    window.alert("hello world");
    window.confirm("继续吗?");
    // 定时器
      setTimeout(()=>{
          console.log("三秒后执行");
      },3000);
      // 循环定时器(每2秒执行一次)
      const timer = setInterval(()=>{
          console.log("每两秒执行一次");
        // 10秒后停止定时器
        },2000);
      setTimeout(()=> clearInterval(timer),10000);

  </script>

运行结果演示:

可以看到10秒后计时循环已停止

插入解释:箭头函数:

箭头函数是 ES6 新增的简写函数写法

核心作用:代码更简洁 + 自动绑定 this

本质:一种更简洁的函数声明方式

符号:=>

特点: 不用写 function 关键字

不用写 return(单行时自动返回)

不绑定自己的 this(继承外层作用域的 this)

没有 arguments

单行代码不用大括号

2.navigator 对象(浏览器信息)

<script>
        console.log("\n==== navigation 对象 ====");
        console.log("浏览器信息",navigator.userAgent)
        console.log("操作系统平台",navigator.platform);
        console.log("浏览器语言",navigator.language);
        console.log("是否启用 Cookie:",navigator.cookieEnabled);
    </script>

3.loccation 页面跳转刷新方法

<script>
        location.reload();
        location.assign("https://www.baidu.com");
        // location.replace("https://www.baidu.com");
    </script>

reload:原地刷新

assign:记录浏览器历史可后退跳转

replace:直接跳转 不可后退

4.history 页面进退方法

<script>

        history.back();
        history.forward();
        history.go(-1);
        history.go(1);
        history.go(0);
    </script>

1. back() 后退上一页

2. forward() 前进下一页

3. go(n) 跳转指定页数

1.2 本地会话存储

localStorage 是浏览器提供的本地存储 API,用于永久保存数据(除非手动清除),数据会一直存在浏览器中,刷新、关闭页面、重启电脑都不会丢失,是前端最常用的持久化存储方案

特性 localStorage sessionStorage cookie
生命周期 永久(需手动删除) 页面会话期间 可设置过期时间
存储大小 约 5-10MB 约 5-10MB 约 4KB
服务端读取
作用域 同源窗口共享 同一标签页 可设置路径 / 域名

方法 说明 示例
setItem(key, value) 存储数据 localStorage.setItem('name', '张三')
getItem(key) 获取数据 localStorage.getItem('name')
removeItem(key) 删除指定数据 localStorage.removeItem('name')
clear() 清空所有数据 localStorage.clear()
key(index) 根据索引获取键名 localStorage.key(0)
length 获取存储项数量 localStorage.length

部分代码示例:

<script>
        // 存对象(必须转字符串)
       const user ={name:"li",age:18,city:"上海"}
       localStorage.setItem("user",JSON.stringify(user));
       // 取对象(必须解析回来)
       const userinfo = JSON.parse(localStorage.getItem("user"))
       console.log(userinfo.age);
       console.log(userinfo.city);
    </script>

注:因为 localStorage 只能存字符串,不能直接存对象,所以必须用JSON.stringify转换。

        需要取用的时候再用JSON.parse取回来

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐