一、window对象
1、通过js访问浏览器窗口的一个接口
2、是一个Global对象
通过 var 定的的全局变量、直接函数声明、带 var 的函数表达式不能被 delete 删除,直接定义在 window 对象上的可以,或者未声明变量、对象会在非严格模式默认为 window 对象的属性
3、当页面中有多个框架时,每个框架中都存在一个 window 对象,此时 top 表示最高层框架,通过 top.frames[0] 来进行引用,top对象 永远指向最外层框架, parent对象 指向当前框架的直接上级框架, 某些情况会等于top, self指向window,可以互换
4、窗口位置:screenTop(screenY)、screenLeft(screenX)、moveTo(x, y)、moveBy(m, n)
5、窗口视口大小,
标准模式:document.documentElement.clientWidth/document.documentElement.clientHeight
混杂模式:document.body.clientWidth/document.body.clientHeight
resizeTo(x, y)、resizeBy(m, n)
6、window.open() 打开窗口
7、定时器
①setTimeout(function(){}, time),超时调用,经过time加入事件队列,等其他同步代码执行完毕,才执行,clearTimeout(id),取消
②setInterval(function(){}, time),间歇调用,尽量用超时调用代替间歇调用,因为后一个间歇调用可能会在前一个间歇调用结束之前启动,clearInterval(id),取消
二、location对象
1、window.location/document.location引用同一对象
hash:#加之后字符或空字符串
host:服务器名称和端口号(如果有),例:www.baidu.com:80
hostname:服务器名称,例:www.baidu.com
href:完整url,location对象的toString()也返回这个,例:http://www.baidu.com?a=b
pathname:返回目录或文件名,例:/a/b不包括 ?...
port:端口号,无则返回空
protocol:返回页面用的协议,例http:/https:
search:查询字符串,以?开头
2、方法:assign()加载新页面,reload()重载,replace()替换,不会有新纪录
改变location的每个属性(除hash)都会以新url重新加载页面,hash 会生成一条历史记录,但不会重新加载
三、navigator对象
四、screen对象
五、history对象
history.go(number/string),跳转
history.back(),向后退
history.forward(),向前进