windows对象
BOM(浏览器对象模型)
- BOM是浏览器对象模型。
- window对象是一个全局对象,也可以说是JavaScript中的顶级对象
- 像document、alert()、console.log()这些都是window的属性,基本BOM的属性和方法都是window的。
- 所有通过var定义在全局作用域中的变量、函数都会变成window对象的属性和方法
- window对象下的属性和方法调用的时候可以省略window
定时器——延时函数
- JavaScript内置的一个用来让代码延迟执行的函数,叫setTimeout
- 语法:
setTimeout(回调函数,等待的毫秒数)
- setTimeout仅仅只执行一次,所以可以理解为就是把一段代码延迟执行,平时省略window。
- 清除延时函数:
let timer=setTimeout(回调函数,等待的毫秒数)
clearTimeout(timer)
- 注意点
- 延时器需要等待,所以后面的代码先执行
- 每一次调用延时器都会产生一个新的延时器
两种定时器对比:执行的次数:
- 延时函数:执行一次
- 间歇函数:每隔一段时间就执行一次,除非手动清除
location对象
location的数据类型是对象,它拆分并保存了URL地址的各个组成部分
常用属性和方法:
href属性获取完整的URL地址,对其赋值时用于地址的跳转
//可以得到当前文件URL地址
console.log(location.href)
//可以通过js方式跳转到目标地址
location.href='http://www.itcast.cn'
nagvigator对象
location的数据类型是对象,它拆分并保存了URL地址的各个组成部分
-
常用属性和方法:
search属性
获取地址中携带的参数,符号?后面部分
console.log(location.search)
hash属性
获取地址中的哈希值,符号#后面部分
reload方法
用来刷新当前页面,传入参数true时表示强制刷新
<button>点击刷新</button>
<script>
let btn=document.querySelector('button')
btn.addEventListener('click',function(){
location.reload(true)
//强制刷新类似(ctrl+f5})
</script>
总结:
- location.href属性 获取完整的URL地址,对其赋值时用于地址的跳转
- search属性 获取地址中携带的参数,符号?后面部分
- hash属性 获取地址中的hash值,符号#后面部分
- reload方法 用来刷新当前页面,传入参数true时表示强制刷新
navigator的数据类型是对象,该对象下记录了浏览器自身的相关信息
常用属性和方法:
通过userAgent检测浏览器的版本及平台
//检测userAgent(浏览器信息)
!(function(){
const userAgent=navigator.userAgent
//验证是否为Android或iPhone
const android=userAgent.match(/(Android);?[¥s¥/+([¥d.]+)?/)
const iphone=userAgent.match(/(iPhonesOS)¥s([¥d_]+)/)
//如果是Android或iPhone,则跳转至移动站点
if(android || iphone){
location.href=http://m.itcast.cn'
}
])()
history对象
history的数据类型是对象,主要管理历史记录,该对象与浏览器地址栏的操作相对应,如前进、后退、历史记录等
常用属性和方法:
history对象方法 | 作用 |
comback() | 可以后退功能 |
forward() | 前进功能 |
go(参数) | 前进后退功能参数如果是1前进1个页面如果是-1后退1个页面 |
history对象一般在实际开发中比较少用,但是会在一些OA办公系统中见到。