BOM操作浏览器

71 阅读3分钟

BOM操作浏览器

window

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

    • 延时器

      • 延迟一段时间之后才执行对应的代码

      • let timerId = setTimeout(回调函数, 延迟时间)

      • 清除延时器

        • clearTimeout(timerId)
      • 注意点

        • 延时器需要等待,所以后面的代码先执行
        • 每一次调用延时器都会产生一个新的延时器
    • 定时器

    • 区别:执行的次数

      • 延时函数: 执行一次
      • 间歇函数:每隔一段时间就执行一次,除非手动清除
    • 案例:阅读协议倒计时

  • location对象

    • 主要负责网页的地址栏

    • location.href

      • 跳转页面
    • location.reload()刷新

    • locaction.search

      • ?后面的内容
    • locaction.hash

      • #后面的内容
    • 案例-5秒钟之后页面自动跳转

  • navigator对象

    • 主要用来获取浏览器的信息

    • navigator.userAgent

    • 案例: 判断设备

      • navigator.userAgent 在这个字段里面判断是否有Mobile字段. 如果有表示是手机,反之则表示PC
  • histroy对象

    • 管理历史记录
    • history.forward()
    • history.back()
    • history.go()
  • JS执行机制

    • 面试要问的

    • js单线程

    • js 把任务分为 同步任务和异步任务

      • 同步任务

        • let num = 10
      • 异步任务

        • 定时器
        • 事件 click
        • load 加载
        • ajax
    • 同步任务放到执行栈里面

    • 异步任务放到任务队列里面

    • 事件循环 event loop

      • 执行执行栈里面的任务,执行完毕再去任务队列里面看看是否有任务,如果有,则得到放入执行栈中执行,再次循环

swiper

本地存储

  • 作用: 可以将数据永久存储在本地(用户的电脑), 除非手动删除

  • 语法

      • localStorage.setItem('键', '值')
      • localStorage.getItem('键')
      • localStorage.removeItem('键')
  • 存储复杂数据类型

    • 本地只能存储字符串,无法存储复杂数据类型.需要将复杂数据类型转换成JSON字符串,在存储到本地

    • 转换成JSON字符串的语法

      • JSON.stringify(复杂数据类型)

        • 将复杂数据转换成JSON字符串
      • JSON.parse(JSON字符串)

        • 将JSON字符串转换成对象
  • 学生信息表本地存储版本

自定义属性

  • 固有属性: 标签天生自带的属性 比如class id title等, 可以直接使用点语法操作

  • 自定义属性: 由程序员自己添加的属性,在DOM对象中找不到, 无法使用点语法操作,必须使用专门的API

    • getAttribute('属性名') // 获取自定义属性
    • setAttribute('属性名', '属性值') // 设置自定义属性
    • removeAttribute('属性名') // 删除自定义属性
  • data-自定义属性

    • 传统的自定义属性没有专门的定义规则,开发者随意定值,不够规范,所以在html5中推出来了专门的data-自定义属性

    • 在标签上一律以data-开头

    • 在DOM对象上一律以dataset对象方式获取

      • 获取到的是一个对象