BOM(browser object model)浏览器对象模型<br><br>BOM的对象有:<br><br>window、navigator、screen、history、location、document、event
window<br><br>window是浏览器的一个实例,在浏览器中,window对象有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象(全局对象)。<br><br>全局变量——脚本的任何一个地方都能调用的变量<br><br>全局方法——脚本的任何一个地方都能调用的方法<br><br>所有的全局变量和全局方法都被归在window上
全局变量可以用以下方式声明:<br><br>1、window声明——window.变量名=值<br><br>2、关键字声明——var 变量名=值<br><br>【两者等价】<br><br>--------------------------------------------------<br><br>全局函数可以用以下方式声明:<br><br>1、window声明——window.函数名=function(){}<br><br>2、关键字声明——function 函数名(){}
Window对象的方法
Window对象的方法<br><br>语法:window.alert("content")<br><br>功能:显示带有一段消息和一个确认按钮的警告框
换行:\n
语法:window.confirm("message")<br><br>功能:显示一个带有指定消息和ok及取消按钮的对话框<br><br>返回值:布尔。如果用户点击确定按钮,则confirm()返回true<br><br>如果用户点击取消按钮,则confirm()返回false
换行:\n
语法:window.prompt("text,defaultText")<br><br>参数说明:<br><br>text:要在对话框中显示的纯文本(而不是HTML格式的文本)<br><br>defaultText:默认的输入文本<br><br>返回值:如果用户单击提示框的取消按钮,则返回null<br><br>如果用户单击确认按钮,则返回输入字段当前显示的文本
换行:\n
语法:window.open(pageURL, name, parameters)<br><br>功能:打开一个新的浏览器窗口或查找一个已命名的窗口<br><br>参数说明:<br><br>pageURL:子窗口路径<br><br>name:子窗口句柄(name声明了新窗口的名称,方便后期通过name对子窗口进行引用)<br><br>parameters:窗口参数(各参数用逗号分隔)
新窗口样式设置:<br><br>width:窗口宽度 、height:窗口高度、left:窗口X轴坐标、top:窗口Y轴坐标、toolbar:是否显示浏览器的工具栏、menubar:是否显示菜单栏、scrollbars:是否显示滚动条、location:是否显示地址字段、status:是否添加状态栏
语法:window.close();<br><br>给你:关闭浏览器窗口(所在的浏览器窗口)
超时调用<br><br>语法:setTimeout(code,millisec)<br><br>功能:在指定的毫秒数后调用函数或计算表达式<br><br>参数说明:<br><br>1、code:要调用的函数或要执行的JavaScript代码串<br><br>2、millisec:在执行代码前需等待的毫秒数<br><br>setTimeout方法返回一个ID值通过它取消超时调用
setTimeout()方法用于在指定的毫秒数后调用函数或表达式。<br><br><br><br>一共有两个点需要注意:<br><br><br><br>1、 有两个参数<br><br><br><br>(1) 第一个参数是要执行的函数或者执行脚本<br><br><br><br>(2) 第二个参数是要多少毫秒后执行,注意单位是毫秒!<br><br><br><br> 2、有三种表达式写法:<br><br><br><br>(1)第一种是在方法中直接写脚本<br><br><br><br>(2)第二种是在方法中写匿名函数<br><br><br><br>(3)第三种是在方法中写定义好的函数的函数名。
<br>
清除超时调用<br><br>语法:clearTimeout(id_of_settimeout)<br><br>功能:取消由setTimeout()方法设置的timeout<br><br>参数说明:<br><br>1、id_of_settimeout:由setTimeout()返回的ID值,该值标识要取消的延迟执行代码块<br><br>【清除超时调用后,超时调用的代码就不会再执行了,相当于删除了超时调用代码】
setInterval 间歇调用<br><br>setInterval(code,millisec)<br><br>功能:每隔指定的时间执行一次代码<br><br>参数说明:<br><br>1.code 要调用的函数或要执行的代码串<br><br>2.millisec:周期性执行或调用code之间的时间间隔,以毫秒计<br><br><br><br>setInterval()返回ID值<br><br>clearInterval()
清除间歇调用<br><br>语法:clearInterval(id_of_setinterval)<br><br>功能:取消由setInterval()方法设置的interval<br><br>参数说明:<br><br>1、id_of_setinterval:由setInterval()返回的ID值
获取窗口文档显示区的宽高可以使用window.innerWidth和window.innerHeight
location对象
1、语法:location.href<br><br>功能:返回当前加载页面的完整URL<br><br>说明:location.href与window.location.href等价
与location.replace相比,会生产记录,可以回退
2、语法:location.hash<br><br>功能:返回URL中的hash(#号后 跟零或多个字符),如果不包含则返回空字符串。
3、语法:location.host<br><br>功能:返回服务器名称和端口号(如果有)【主机地址】
4、语法:location.hostname<br><br>功能:返回不带端口的服务器名称
5、语法:location.pathname<br><br>功能:返回URL中的目录和(或)文件名
6、语法:location.port<br><br>功能:返回URL中指定的端口号,如果没有,返回空字符串<br><br>假设网址为:localhost:8080/hotel<br><br>location.port值为8080
7、语法:location.protocol<br><br>功能:返回页面使用的协议
8、语法:location.search<br><br>功能:返回URL的查询字符串。这个字符串以问号开头。
location对象方法
1.location.replace()<br><br>重新定向URL,不会在历史记录中生成新纪录,即不能回退,没有历史记录。loaction.href='xxx'会有历史记录
2.location.reload()<br><br>重新加载当前显示的页面。<br><br>location.reload()有可能从缓存中加载<br><br>location.reload(true)从服务器重新加载。<br><br>一般放在代码的最后。
history对象:保存了用户在浏览器中访问页面的历史记录
history.back()<br><br>回到历史记录的上一步,相当于使用了history.go(-1)<br>
history.forward()回到历史记录的下一步<br><br>相当于使用了history.go(1) <br>
history.go(n)<br><br>回到历史记录的前n步<br><br>history.go(-n)回到历史记录的后n步
Screen对象:包含有关客户端显示屏幕的信息
screen.availWidth:返回可用屏幕宽度(指除了任务栏之外的内容)
screen.availHeight:返回可用的屏幕高度(指除了任务栏之外的内容)
navigator对象
navigator.userAgent(用来识别浏览器名称,版本,引擎, <br><br>以及操作系统 等信息的内容。)
navigator.appCodeName 获取浏览器名称
navigator.appName 获取完整的浏览器名称