BOM
Browser Object Model
浏览器对象模型
作用:能够在 JS 中与浏览器实现“对话”
没有标准化
Window 对象:
JS中可以使用 window 来引用 Window 对象,Window对象表示的是浏览器中打开的窗口,相当于是浏览器中的最顶层对象。
Window 对象拥有全局作用域,我们定义的全局变量、函数都相当于是 Window 对象的属性。
Window对象的属性调用时,可以省略 "window." 的书写
Location 对象:
代表 URL
window.location 或 location 来引用
协议://域名:端口/路径名称?查询字符串#hash
属性:
(1)hash 设置或返回从井号 (#) 开始的 URL(锚)。
(2)host 设置或返回主机名和当前 URL 的端口号。
(3)hostname 设置或返回当前 URL 的主机名。
(4)href 设置或返回完整的 URL。
(5)pathname 设置或返回当前 URL 的路径部分。
(6)port 设置或返回当前 URL 的端口号。
默认端口:HTTPS--443 HTTP--80
(7)protocol 设置或返回当前 URL 的协议。
(8)search 设置或返回从问号 (?) 开始的 URL(查询部分)。
方法:
reload() 重新加载
History 对象:
代表访问历史记录
window.history 或 history 来引用
方法:
(1)back() -- 后退,一个记录
(2)forward() -- 前进,一个记录
(3)go(num) -- 前进(+)/后退(-)
Navigator 对象:
代表浏览器本身相关信息
window.navigator 或 navigator 引用
属性:
userAgent
Document 对象:
代表浏览器中打开的文档
其它属性:
innerWidth
innerHeight
方法:
alert()
prompt()
confirm()
open()
close()
计时器:
(1)setInterval(fn, time) -- 周期性执行,每隔 time 时长执行一次 fn 函数
(2)setTimeout(fn, time) -- 一次性执行,指定 time 时长后执行一次 fn 函数
(3)clearInterval(id) -- id 是 setInterval() 启动的计时器返回值
(4)clearTimeout(id) -- id 是 setTimeout() 启动的计时器返回值
JavaScript 是单线程的应用程序。
EventLoop 机制
异步任务、异步机制
回调函数
通过递归,也可以使用 setTimeout() 达到 setInterval() 周期性计时的效果