我把个人认为需要记忆的JS BOM基础摘录下来
Browser object model 即浏览器对象模型
BOM对象有window,navigator,screen,history,location,document,event
Window是浏览器的一个实例,在浏览器中,window对象具有双重角色
1. 通过JS访问浏览器窗口的一个接口
2. ES规定的GLOBAL对象(全局对象,即脚本任何一个地方都能调用的变量)
Var age=15;
Function sayage(){
Alert(‘我’+age);
}
Window.username=”marry”//声明一个全局变量
Window.sayNme=function(){ //声明一个全局方法
Alert(“我是”+this.username);
}
总结全局变量有3种方式声明:
使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量。
没有使用var,直接给标识符test赋值,这样会隐式的声明了全局变量test。即使该语句是在一个function内,当该function被执行后test变成了全局变量。
使用window全局对象来声明,全局对象的属性对应也是全局变量。
全局函数1 Window声明 Window.函数名=function(){
2.function 函数名(){}
所有的全局变量和全局方法都被归在了window上
语法:window.alert(“content”) 显示一个带有消息和确认按钮的警告框
window.confirm(“message”) 带有制定消息,OK以及取消的对话框
返回值为布尔值
Window.prompt(“text,defaultText”)
Tex:要在对话框显示的纯文本(非HTML)
Defaulttext:默认的输入框
Window.open(pageURL,name,parameters)
打开一个新的浏览器窗口或查找一个已命名的窗口
PageUrl:子窗口路径
Name:子窗口句柄(name声明了新窗口的名称,方便以后通过name对子窗口进行引用)
Parameters:窗口参数(各参数用,分割)
参数如下:
Window.close() 关闭浏览器窗口
JS是单线程语言,单线程就是所执行的代码必须按照顺讯。
超时调用:setTimeout(code,millisec)
在制定的毫秒数后调用函数或者计算表达式
1. code为要调用的函数或执行的JS代码串
2. millisec是在执行代码前的毫秒数
setTimeout返回一个ID值,通过它取消超时调用
setTimeout只执行一次,如果要多次执行可以调用自己
clear Timeout(id_of_settimeout)取消setTimeout方法设置的Timeout
间歇调用:setInterval(code,millisec)每隔指定的时间执行一次代码
1. code要调用的函数或者要执行的代码穿
2. millisec周期性执行或调用code之间的时间间隔以毫秒计
清除间接调用 clearInterval(id_of_setinterval)
用timer=null释放内存
Location对象提供了与当前窗口中加载的文档有关的信息,还提供了一些导航的功能,他即使WINDOW对象的属性,也是document对象的属性
Location.href 返回当前加载页面的完整URL
Location.href与window.Location.href等价
Location.hash返回URL中的Hash(#后面跟0或多个字符)不包含返回””
Location.host返回服务器名称和端口号(如果有)
Location.hostname返回不带端口号的服务器名称
Location.pathname返回URL中的目录和(或)文件名
Location.port返回URL指定的端口号,如果没有返回空字符串
Location.protocol返回页面使用的协议
Location.search返回URL查询的字符串
改变浏览器位置的方法:location.href
Location对象的其他属性也可以改变RUL:
Location.hash
Location.search
Location.replace(url)重新定向URL
使用location.replace不会在历史记录中生成新纪录
Location.reload()重新加载当前页面,有可能从缓存中加载
Location.reload(true)从服务器重新加载
History对象
History对象保存了用户在浏览器中访问页面的历史记录
History.back()回到历史记录的上一条相当于使用了history.go(-1)
Location.forward()回到历史记录的下一步相当于history
History.go(n)到历史记录的n步,正数向前,负数向后
Screen对象
包含了有关客户端显示屏幕的信息
Screen.availWidth返回可用的屏幕宽度
Screen.availHeight返回可用的屏幕高度
获取窗口文档显示区的高度用innerHeight和innerWidth,window.innerHeight,window.innerWidth
Navigator对象
UserAgent:用来识别浏览器名称,版本,引擎以及操作系统等信息的内容
Navigator.userAgent