Window对象是客户端JavaScript程序的全局对象。
setTimeout() 和 setInterval() 可以用来注册在指定的时间之后单词或重复调用的函数。
Window对象的setTimeout()方法用来实现一个函数在指定的毫秒之后运行。setTimeout()返回一个值,这个值可以传递给clearTimeout()用于取消这个函数的执行。
setInterval()和setTimeout()一样,只不过这个函数会在指定毫秒数的间隔里重复调用,例如:
setInterval(updateClock, 60000); //没60秒调用一次 updateClock()
和setTimeout()一样,setInterval()也返回一个值,这个值可以传递给clearInterval(),用于取消后续函数的调用。
示例:定义的函数会在等待指定的事件之后,开始重复调用某个函数,然后又过了一段时间之后取消函数调用:
function invoke(f, start, interval, end){ if (!start) start = 0; if (arguments.length <= 2) setTimeout(f, start); // 单词调用模式 else{ setTimeout(repeat, start); // 在若干秒后调用repeat() function repeat(){ var h = setInterval(f, interval); // 循环调用f() if(end)setTimeout(function(){clearInterval(h);}, end); // 在end毫秒后停止调用 } } }
如果以0毫秒的超时时间来调用setTimeout(),那么指定的函数不会立刻执行。相反,会把它放到队列中,等到前面处于等待状态的事件处理程序全部执行完成之后再调用它。
WIndow对象的location属性引用的是Location对象,它表示该窗口中当前显示的文档的URL,并定义了方法来使窗口载入新的方法。
Document对象的location属性也引用到Location对象:
window.location === document.location // true
Location对象的href属性是一个字符串。后者包含URL的完整文本。Location对象的toString(0方法返回href属性的值。
这个对象的其他属性——protocal,host,hostname,port,pathname和search,分别表示URL的各个部分。
Location对象的hash和search属性——hash属性返回URL中的”片段标识符“部分。search属性返回的是问号之后的URL,这部分通常是某种类型的查询字符串。
Location对象的assign()方法可以使窗口载入并显示指定的URL中的文档。replace()方法也类似,但它在载入新文档之前会从浏览历史中把当前文档删除。
除了assign()和replace(0方法,Location对象还定义了reload()方法,后者可以让浏览器重新载入当前文档。
纯粹的片段标识符是相对URL的一种类型,它不会让浏览器载入新文档,但只会使它滚动到文档的某个位置。
例如,如果文档中没有元素的ID是top,它会让浏览器跳到文档开始处:
location = "#top"; // 跳转到文档的顶部
Location对象的URL分解属性是可写的,对它们重新赋值会改变URL的位置,并且导致浏览器载入一个新的文档,例如:
location.search = "?page=" + (pagenum + 1); // 载入下一个页面
Window对象的history属性引用的该窗口的History对象。History对象是用来把窗口的浏览历史用文档和文档状态列表的形式表示.
History对象的back()和forward()方法与浏览器的”后退“和”前进“按钮一样:它们在浏览器在浏览历史中前后跳转一格,第三个方法——go()接受一个整数参数,可以在历史列表中向前或向后跳过任意多个页。
脚本有时候需要获取它们所在的Web浏览器或浏览器所在的桌面相关的信息。
Window对象的navigator属性引用的是包含浏览器厂商和版本信息的Navigator对象。
Navigator对象有4个属性用于提供关于运行中的浏览器的版本信息:
Window对象的screen属性引用的是Screen对象。它提供有关窗口显示的大小和可用的颜色数量的信息。
属性width和height指定的是以像素为单位的窗口大小。属性availWidth和availHeight指定的是实际可用的显示大小,它们排除了像桌面任务栏这样的特性所占用的空间。
属性colorDepth指定的是显示的BPP值,典型的值有16,24和32.
Window对象提供了3个方法来向用户显示简单的对话框。
这些方法目前唯一常见的应用就是调试。
除了Window的alert(),confirm()和prompt()方法,还有个更复杂的方法showModalDialog(),显示一个包含HTML格式的"模态对话框",可以给它传入参数,以及从对话框里返回值。
如果在HTML文档中用id属性来为元素命名,并且如果Windo对象没有此名字的属性,Window对象会赋予一个属性,它的名字是id属性的值,而它们的值指向表示文档元素的HTMLElement对象。