BOM
一、Window对象
在浏览器中window对象即是全局对象,又是JavaScript访问浏览器的一个接口。
定义全局变量和定义window对象还是有差别的,全局变量不能通过delete操作符删除,而window变量可以。
var a = "Global"; window.b = "Window"; delete a; delete window.b; console.log(a); //'Global' console.log(b); //'b is not defined'
用var添加的window属性其[[Configurable]]特性值被设置为false
一)窗口关系及frame
如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。
top属性:始终指向最外层,即浏览器窗口。
parent属性:该窗口的直接父亲窗口。
self属性:始终指向window自己
注意:除非最高层窗口是用window.open()打开的,否则其window对象的name属性不会包含任何值。
二)窗口位置及大小
略
三)导航及打开窗口
详情见window.open() API
超时调用:在一定时间后调用代码
setTimeout(function () { alert("Hello,everyone!"); },10000);
注意:JavaScript是一个单线程解释器,因此一定时间内只能执行一段代码。setTimeout()第二
个参数指定过多少毫秒后把当前任务添加到任务队列中去,如果任务队列中没有任务,添加后
的任务会立即执行。setTimeout()会返回一个任务ID,可以通过该ID取消任务调用。
//设置超时调用var timeoutId = setTimeout(function() {alert("Hello world!");}, 1000);//注意:把它取消clearTimeout(timeoutId);
间歇调用:按指定时间重复执行代码,直到间歇调用被取消或者页面被卸载。
var count = 0; setInterval(function () { ++count; console.log("Time: "+count); },3000);
调用 setInterval()方法同样也会返回一个间歇调用 ID,该 ID 可用于在将来某个时刻取消间歇调用。要取消尚未执行的间歇调用,可以使用 clearInterval()方法并传入相应的间歇调用 ID。
四)系统对话框
略
二、location对象
location对象提供了与当前窗口加载的文档相关的一些信息,还提供了一些导航功能。该对象即是window对象的属性,又是document对象的属性
location属性和方法:请查看相关API
三、navigator对象
略
四、screen对象
略