【JS】【客户端】window对象

Window对象

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

解析URL

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浏览器或浏览器所在的桌面相关的信息。

Navigator对象

Window对象的navigator属性引用的是包含浏览器厂商和版本信息的Navigator对象

Navigator对象有4个属性用于提供关于运行中的浏览器的版本信息:

  • appName —— Web浏览器的全程
  • appVersion —— 通常以数字开始,并跟随着包含浏览器厂商和版本信息的详细字符串
  • userAgent —— 
  • platform —— 在其上运行浏览器的操作系统的字符串


Screen对象

Window对象的screen属性引用的是Screen对象。它提供有关窗口显示的大小和可用的颜色数量的信息。

属性width和height指定的是以像素为单位的窗口大小。属性availWidth和availHeight指定的是实际可用的显示大小,它们排除了像桌面任务栏这样的特性所占用的空间。

属性colorDepth指定的是显示的BPP值,典型的值有16,24和32.


对话框

Window对象提供了3个方法来向用户显示简单的对话框。

  • alert()向用于显示一条消息并等待用户关闭对话框
  • confirm()也显示一条消息,要求用户单击确定或取消按钮,并返回一个布尔值
  • prompt()同样也显示一条消息,等待用于输入字符串,并返回那个字符串

这些方法目前唯一常见的应用就是调试。


除了Window的alert(),confirm()和prompt()方法,还有个更复杂的方法showModalDialog(),显示一个包含HTML格式的"模态对话框",可以给它传入参数,以及从对话框里返回值。


作为Window对象属性的文档元素(不再使用了)

如果在HTML文档中用id属性来为元素命名,并且如果Windo对象没有此名字的属性,Window对象会赋予一个属性,它的名字是id属性的值,而它们的值指向表示文档元素的HTMLElement对象。


多窗口和窗体









你可能感兴趣的:(JS.客户端)