JavaScript的组成三部分:
(1)ECMASCRIPT(javascript语法)
(2)BOM(Browser Object Model):浏览器对象模型,就是操作浏览器的一些能力
(3)DOM:文档对象模型
BOM:window对象,浏览器窗口对象
一、BOM作用:操作浏览器的能力
BOM的核心就是window对象,window是浏览器的一个内置对象,里面包含了操作浏览器的方法
BOM可以操作的内容:
1. 获取浏览器相关信息(窗口大小等)
2. 操作浏览器进行页面跳转
3. 获取浏览器当前地址栏信息
4. 操作浏览器滚动条
5. 浏览器信息(版本)
6. 让浏览器出现弹出框(alert/confirm/prompt)
7. window对象包含了核心对象
(1)location:当前页面的地址
(2)history:当前页面的历史记录
(3)navigator:包含浏览器相关信息
(4)screen:向用户显示屏幕相关属性
(5)document:文档对象
图示辅助理解:
二、窗口(Window)对象
常用方法:window.方法()
(1)prompt():提醒用户输入,获取的值时string字符串型,要进行计算时需要利用Number()进行类型转换。
(2)alert():浏览器页面弹出带确认按钮的警示框
(3)alert():使用window根对象属性或方法时,window可以省略
(4)confirm():浏览器页面弹出带确认和取消的提示框(window.confirm('你好吗?'),返回值为布尔值:
<script>
function info() {
var isOk = window.confirm('你好吗');
if (isOk === true) {
alert('真好!')
} else {
alert('怎么了?')
}
}
info();
</script>
(5)open(url,窗口名称,宽高等属性):加载给定的url指定的文档,并在新的浏览器窗口打开
(6)setTimeout(function(){},时间参数(毫秒)):倒计时的计时器,自定义时间后执行方法内容,使用clearTimeout(倒计时的名称)可以清除计时器。
(7)setInterval(function(){},时间参数(毫秒)):循环执行的定时器,根据自定义时间循环方法内容,使用clearInterval(计时器名称)时可以清除计时器。
(8)获取浏览器窗口尺寸:innerHeight和innerWidth:
(9)浏览器onscroll事件:该事件在浏览器中滚动条发生滚动时触发:
(10)浏览器滚动的距离:scrollTop/scrollLeft/scrollRight/scrollButtom
举例:获取的是页面向上滚动的距离
两个获取滚动距离的方式:
三、历史记录对象history,获取history对象:window.history
1. history():操作历史记录
获取对象:window.history(),window可以省略。
(1)back():记录加载前一个URL(后退)
(2)forward():记录加载下一个URL(前进)
(3)go():跳转到指定URL,-1和1,其中history.back()与history.go(-1)等价;history.forward()与history.go(1)等价
示例:
四、位置对象location()
常用属性location.href = ' ';
获取当前页面地址:location.href/window.location.href
常用方法:
location.reload()
1. 属性
(1)hash:返回url中的hash(#后的内容)
(2)href:返回当前页面的完整URL
(3)protocol:返回页面使用的协议
(4)port:返回URL中的端口号
(5)search:返回URL的查询字符串,?后面的内容
(6)host:服务器名称和端口号
(7)hostname:返回不带端口号的服务器名称
(8)方法reload():刷新页面
(9)pathname:返回URL中的目录和文件名