写在前面的话:
这个系列文章可能开始,有人会觉得很low,我是打算从H5先开始整理,最后到常见的前端框架、以及一些前端常见的算法、leetcode的一些算法解析,感兴趣的小伙伴可以持续关注,每天分享一个前端知识点,希望大家一起进步。
这篇文章主要给大家整理BOM相关的一些知识点,BOM是JS中比较重要的一个知识点,对于整个前端也是非常重要,众所周知,前端是基于浏览器运行的,BOM恰恰是浏览器的核心,所以BOM重要性就不言而喻了。
何为BOM?
BOM是浏览器模型的缩写,主要用来访问浏览器的功能,也是Web中的核心知识之一
官方将BOM分为五大模块,分别是:
1.window
以下是关于window对象中的属性:
- window.close()
- window.alert(“message”)
弹出一个具有OK按钮的系统消息框,显示指定的文本
- window.confirm(“Are you sure?”)
弹出一个具有OK和Cancel按钮的询问对话框,返回一个布尔值
- window.prompt(“What’s your name?”, “Default”)
提示用户输入信息,接受两个参数,即要显示给用户的文本和文本框中的默认值,将文本框中的值作为函数值返回
- window.setTimeout(“alert(‘xxx’)”, 1000)
设置在指定的毫秒数后执行指定的代码,接受2个参数,要执行的代码和等待的毫秒数
- window.clearTimeout(“ID”)
取消还未执行的暂停,将暂停ID传递给它
- window.setInterval(function, 1000)
无限次地每隔指定的时间段重复一次指定的代码,参数同setTimeout()一样
- window.clearInterval(“ID”)
取消时间间隔,将间隔ID传递给它
2.location
location对象表示载入窗口的URL,也可用window.location引用它 。
- location.href
当前载入页面的完整URL,如
- location.portocol
URL中使用的协议,即双斜杠之前的部分,如http
- location.host
服务器的名字
- location.port
URL声明的请求的端口,默认情况下,大多数URL没有端口信息,如8080
- location.pathname
URL中主机名后的部分,如/pictures/index.htm
- location.search
执行GET请求的URL中的问号后的部分,又称查询字符串,如?param=xxxx
- location.hash
如果URL包含#,返回该符号之后的内容,如#anchor1
- location.assign(“http:www.baidu.com”)
同location.href,新地址都会被加到浏览器的历史栈中
- location.replace(“http:www.baidu.com”)
同assign(),但新地址不会被加到浏览器的历史栈中,不能通过back和forward访问
- location.reload(true | false)
重新载入当前页面,为false时从浏览器缓存中重载,为true时从服务器端重载,默认为false
3.navigator
navigator`对象:包含大量有关Web浏览器的信息,在检测浏览器及操作系统上非常有用,也可用window.navigator引用它
//浏览器代码名的字符串表示
如果启用cookie返回true,否则返回false
如果启用java返回true,否则返回false
4.screen对象:
用于获取某些关于用户屏幕的信息,也可用window.screen引用它
- screen.width/height
屏幕的宽度与高度,以像素计
- screen.availWidth/availHeight
窗口可以使用的屏幕的宽度和高度,以像素计
5.history
- window.history.go(-1)
访问浏览器窗口的历史,负数为后退,正数为前进
- window.history.back()
- window.history.forward()
- window.history.length
可以查看历史中的页面数