BOM——操作

99 阅读2分钟

一、BOM

  • 浏览器对象模型,定义了一套操作浏览器窗口的API

javaScript的组成

  • ECMAScript:
  • 规定了js基础语法核心知识。
  • 比如:变量、分支语句、循环语句、对象等等
  • Web APIs :
  • DOM 文档对象模型, 定义了一套操作HTML文档的API
  • BOM 浏览器对象模型,定义了一套操作浏览器窗口的API

window对象

  • BOM (Browser Object Model ) 是浏览器对象模型
  • image.png
  • window对象是一个全局对象,也可以说是JavaScript中的顶级对象
  • 像document、alert()、console.log()这些都是window的属性,基本BOM的属性和方法都是window的
  • 所有通过var定义在全局作用域中的变量、函数都会变成window对象的属性和方法
  • window对象下的属性和方法调用的时候可以省略window

1.3 navigator对象

  • navigator是对象,该对象下记录了浏览器自身的相关信息
  • 常用属性和方法:
  • 通过 userAgent 检测浏览器的版本及平台
  • image.png

1.4 histroy对象

  • history (历史)是对象,主要管理历史记录, 该对象与浏览器地址栏的操作相对应,如前进、后退等
  • 使用场景
  • image.png

1.5 本地存储

本地存储- localStorage

  • 作用: 数据可以长期保留在本地浏览器中,刷新页面和关闭页面,数据也不会丢失
  • 特性: 以键值对的形式存储,并且存储的是字符串, 省略了window
  • 数据共享: localStorage数据可以多窗口共享(同一个浏览器,同一个域名下)
  • 语法:
  • image.png
  • 清空数据 localStorage.clear()

会话存储- sessionStorage

  • 特性:
  • 用法跟localStorage 基本相同
  • 区别是:当页面浏览器被关闭时,存储在 sessionStorage 的数据会被清除
  • 数据共享: 在同一个窗口(页面)下数据可以共享
  • 语法:
  • image.png
  • 清空数据 sessionStorage.clear()

localStorage 和 sessionStorage的区别?

    1. 生命周期
    1. 数据共享

浏览器查看本地数据

image.png

二、 localStorage --拓展

问题: 存入复杂类型

  • 本地只能存储字符串,无法存储复杂数据类型. -image.png

解决方案:

  • JSON.stringify() 将对象转换为JSON格式的字符串
  • JSON.parse() 将JSON格式的字符串转为对象形式 image.png
  • 需要将复杂数据类型转换成 JSON字符串,再存储到本地
  • 语法: JSON.stringify(复杂数据类型) image.png

问题: 取出无法直接使用

  • 因为本地存储里面取出来的是字符串,不是对象,无法直接使用 image.png

解决方案:

  • 把取出来的字符串转换为对象
  • 语法:JSON.parse(JSON字符串)
  • image.png