day14知识点
一、BOM
1.概念:浏览器对象模型,是个模型,这个模型有一个对象window来体现(具象)
作用:
提供了ES和页面的运行环境
浏览器的一些规定,首先需要在ES的基础之上设置,但是最终生效时,以浏览器的标准为主
宪法:ES,地方法规:浏览器规定
浏览器>ES
兼容:不是兼用问题的兼用问题:
alert(1)功能一致,没有兼用
每个浏览器显示的样式都不一样
2.window的具体功能作用
window:窗口
window提供的窗口 或 窗口与窗口之间的操作
因为所有内容都运行在浏览器中,所以window也是浏览器的js中的顶层(大boss)对象
- 所有的全局变量和函数,都属于window
- window在使用过程中可以省略
- 注意:严格模式下,全局函数如果省略window,会导致全局函数中的this指向undefined
二、方法(内置全局函数)
1.弹出框三兄弟
- 弹出信息框:alert()
- 弹出对话框:prompt()
- 弹出选择框:confirm()
2.页面的打开和关闭
- open()
- close()
- 注意:尽量配合行为适用,不要直接使用。某些浏览器有兼容性
3.计时器
- 计时器(定时器)(重复执行)
- 开 :setInterval()
- 功能:每隔参数2的时间,执行一次参数1的函数
- 参数:参数1:函数;参数2:毫秒数
- 返回值:当前计时器的唯一标志,是个数值,只有一个作用:用来清除当前计时器
- 是否改变原数据:否
- 例:var a=setInterval(function(){console.log(123)},1000(1000指隔1000毫秒执行1次))
- 关 :clearInterval()
- 功能:用来关闭计时器
- 参数:要关闭的计时器的返回值 所在的变量。切记是变量。
- 例如:document.onclick=function(){clearInterval(a)}
- 延时器(延迟,一次)
- 开 :setTimeout()
- 功能:延迟,参数2的时间,执行参数1的函数
- 参数:参数1:函数,参数2:毫秒数
- 返回值:当前延时器的唯一标志,是个数值,只有一个作用:用来清除当前延时器
- 是否修改原数据:否
- 例:var a=setTimeout(function(){console.log(1233)},5000)
- 关 :clearTimeout()
- 功能:用来关闭延时器
- 参数:要关闭延时器的变量
- 返回值:无
- 是否修改原数据:否
- 例:documenti.onclick=function(){clearTimeout(a)}
三、事件(内置全局事件)
1.window事件:
- load:加载
- window.onload不仅是页面的加载,还是在等待资源的加载
- document.onload仅仅是页面的加载
- resize:改变大小
- scroll:滚动
语法:事件源.on事件名 = 事件处理函数
例:btn.onclick = function(){}
:window.onload = function(){}
:onload = funciton(){}
2.子对象(内置对象)
1.- history:历史对象
- 控制浏览器的前进后退刷新等于历史记录相关的功能
- 不方便在代码中测试,所以咋浏览器打开其他页面测试
- 属性 :history.length(历史记录的个数)
- 方法:前进:history.forward()
后退:history.back()
前进后后退指定步数:history.go(num)。num为前进。为负数则退。0刷新
2.- location:地址url
- 控制浏览器的地址栏的内容
- 属性:location.href
- 可以获取又可以设置:当前页面的地址,设置之后,页面会自动跳转
:location.search
- 可以获取也可以设置:当前页面地址中向后台发送的数据部分(?后的部分),页面也会跳转
:location.hash
- 可以获取也可以设置:当前页面地址的锚点连接(哈希值,#后的部分),页面也会跳转
- 方法:
- 重新加载当前地址。意味着刷新
location.reload()
- 跳转方法,必须传参,空字符刷新,指定地址会跳转
location.assign(‘’)
3.- screen:屏幕尺寸
4.navigator:浏览器信息
- navigator.userAgent:浏览器信息
- navigator.appName浏览器名字(已废弃)
- navigator.appVersion浏览器版本
- navigator.appCodeName浏览器内核
- navigator.platform运行系统
5.frames:框架(配合frame标签使用)
四、补充
1-获取页面的可视(看得见的区域)区域的大小
- document.documentElement.clientwidth (宽度)
- document.documentElement.clientheight(高度)
-只能获取,不能设置-
2.获取滚动条滚走的了距离
- document.documentElement.scrollTop
- document.documentElement.scrollLeft
-只能获取,不能设置-