JavaScript BOM 操作 & 定时器

1、BOM

1.1 JavaScript 组成

  • ECMAScript(ES3 ES5 ES6 ES7 ES8 ):
    核心语法: 条件判断 | 循环 | 函数 | 变量 | 运算符

  • DOM: 操作HTML标签和 CSS 的方法(API)

  • BOM: 浏览器对象模型

1.2 BOM 能做什么?

  • 操作浏览器窗口
  • 提供导航对象
  • 屏幕相关信息
  • 浏览器信息
  • cookie

2、window 对象

2.1 认识

window 作为浏览器端 最顶层 对象

 
注意: 调用这个对象下的方法和属性可以不用写 window.

  	window.open();  打开一个新窗口

  	window.close(); 关闭一个窗口

  	window.innerWidth 获取浏览器可用宽高

  	window.innerHeight 获取当前浏览器可用高度

浏览器的可用宽度测量方法还可以使用:

  	document.documentElement.clientWidth

  	document.body.clientWidth

3、location 对象

3.1 理解

用于获取当前页面的地址,也可以操作当前页面定向到其他页面.

3.2 location 的属性

location.href
当前页面完整的 url;

  // JS 跳转页面
  location.href = 'http://www.baidu.com';

location.protocal
url 的协议部分;
 
location.host
主机名和端口;
 
location.hostname
url 的主机名.
 
location.port
url 中的端口号
 
location.hash
锚点部分, url 中以 '# '开头的部分
 
location.pathname
url 的路径部分, 以 / 开头部分
 
location.search
url 中的参数, 以 ? 开头 的键值对字符串, 格式: ?键 = 值 & 键 = 值.

3.3 location 方法

location.assign()
载入新文档。
 
location.replace()
用新文档替换当前历史记录。
 
location.reload()
重新载入。
//可以做页面刷新

4、navigator 对象

  • 包含浏览器所有的详细信息;

  • onLine: ture 当前有网;

  • onLine: false 当前没有网;

  • userAgent: 用户浏览器信息;

5、screen 对象

获取当前显示器信息;

6、history 对象

提供对浏览器历史记录的访问功能
 

history.length
访问了多少个页面
 
history.back()
后退
 
history.forward()
前进.
 
history.go(n)
获取 前进/后退 步数, n 是一个数值, 正数代表前进多少页, 负数代表后退多少页.
 
路由部分:
history.state
 
得到history 的一个堆栈;
初始为 null
 
history.pushState(state,title, url);

  • state: 一个与添加的记录相关联的状态对象;
  • title: 新页面的标题,一般浏览器会忽略, 所以可以直接填空的;
  • url: 要打开的新网址;

7、计时器

7.1 setInterval

setInterval(code, delay)
 
按照指定的周期,重复调用函数。
调用 setInterval 时会返回一个数值;

  • delay: 指定的周期,单位是毫秒.
  • code: 要运行的函数或执行体;
     

clearInterval(id)
 
取消 对应 setInterval 返回的 id 的计时器

  	var timer = setInterval(code, delay)
  	
  	clearInterval(timer)

7.2 setTimeout(延时调用)

setTimeout(code, delay);
 
在指定的时间后调用函数.调用 setTimeout 会返回一个 数值;

  • code: 要调用的函数 或者 表达式.
  • delay: 延迟多少时间.

 

clearTimeout(id)
取消 对应 setTimeout 返回的 id 的计时器

  	var timer = setTimeout(code, delay)
  	
  	clearTimeout(timer)

7.3 同步异步

同步:
 
简单理解就是按照代码编写的先后顺序执行
 
异步:
 
简单理解就是,异步代码全部丢到一边去排队, 等到所有代码执行结束后再执行。

 
setInterval 和 setTimeout 是异步。

8、前端的持久性存储

8.1、Storage – 本地存储

sessionStorage
 
临时性存储,关闭当前浏览器后就会清除。
 

  • sessionStorage.getItem(key) // 获取存储,key 是键名
  • sessionStorage.setItem(key, value) // 设置存储,key 是键名,value 是键值
  • sessionStorage.removeItem(key) // 移除存储,key 是键名
     

注意: value 只能是字符串;
 
如果需要存储其他数据,则需要通过一个方法将其他类型的数据转为字符串:

  	JSON.stringify(数据)

  	// 取出来的时候通过以下方法转为
  	Number()
  	JSON.parse() 字符串转对象

8.2 localStorage – 永久存储

永久性存储,除非是手动删除。

  • localStorage.getItem()
  • localStorage.setItem()
  • localStorage.removeItem

相关文章


在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只 小网虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值