window对象

计时器

  • window对象的setTimeout()方法用来实现一个函数在特定的毫秒数之后执行。setTimeout()会返回一个值,这个值可以传递给clearTimeout()用于取消这个函数的执行。
  • window对象的setInterval()方法用来实现一个函数在指定的毫秒数的间隔里重复运用。

方法示例

/* 函数如果接收到两个参数就执行setTimeout,否则执行setInterval,并在end时刻结束setInterval。 */
function invoke(f ,start ,interval ,end){
    if(!start)  start = 0;
    if(arguments.length <= 2){
        setTimeout(f, start);
    }else{
        setTimeout(repeat, start);
        function repeat(){
            var h = setInterval(f, interval);
            if(end) setTimeout(function(){
                clearInterval(h);
            },end);
        }
    }
}

浏览器定位和导航

解析URL

window对象的location属性引用的是location对象,表示该窗口中当前显示文档的URL,location对象的href属性是一个字符串,后面包含URL的完整文本,使用window.location.toString()将会返回href属性的值。

location对象的其他属性,protocol、host、hostname、port、pathname、search——表示URL 的各个部分。

属性解释
hashURL的锚部分,包括开头的哈希(#)符号,文档URL这个部分指定文档中某个锚的名字。
hostURL的主机名和端口部分
hostnameURL的主机名
hrefURL的完整文本
pathnameURL的路径名部分
port端口部分
protocol协议部分
searchURL的查询部分,包括开头的问号

载入新的文档

  • location.assign()方法可以载入新的文档,并且历史记录不会被删除,也就是说能够通过返回原始文档;
  • location.replace()方法也可以载入新文档,更形象的来说应该是覆盖原始文档,因为在浏览历史会被删除
  • location.reload()方法可以是浏览器重新载入当前文档
  • location对象的URL分解属性是可写的,并且也可以导致再入一个新的文档(如果改变的是hash值,则在当前文档中进行跳转),历史部会被删除

浏览历史

  • history的length属性表示浏览历史列表中的元素数量。
  • back()方法表示后退,forward()方法表示前进
  • go()方法接收一个整数参数,表示向前或者向后跳过任意多个页history.go(-1)相当于history.back();history.go(1)相当于history.forward()
  • 如果窗口包含多个子窗口,那么子窗口的浏览历史也会穿插在主窗口的历史中。

浏览器和屏幕信息

这里写图片描述

这里写图片描述

Screen对象

  • 提供窗口显示的大小和可用的颜色数量的信息,属性width与height以像素为标准。

对话框

  • alert()显示消息等待用户关闭对话框
  • confirm()显示消息,要求用户点击确定或者取消,并返回布尔值;
  • prompt()显示消息,等待用户输入字符串
  • 对话框弹出的时候会产生阻塞,也就是说这个时候代码停止运行。

方法示例

do{
    var name = prompt("What is your name?");
    var corrent = confirm("You entered '" + name + "'.\n");
}while(!corrent)
alert("hello," + name + "!");

多窗口和窗体

打开和关闭窗口

  • window.open()可以打开新的浏览器窗口
open()参数序号解释
1新窗口中显示的文档的URL
2新窗口的名字,如果指定的是一个已存在的窗口名字,就直接跳转,否则打开新的窗口
3可选参数,是一个以逗号分隔的列表,包含大小和各种属性

  • window.close()关闭窗口

窗体之间的关系

  • 窗体可以用parent属性引用包含他的窗口的窗体window对象:parent.history.back()
  • 如果一个窗口是顶级窗口或者标签,而不是窗体,那么parent属性引用的是这个窗口本身 parent==self;只有顶级窗口才会返回true
  • 可以使用parent.parent向上查找
  • top属性表示包含窗口的顶级窗口
  • 每个window都有自己的frames属性,它引用自身包含的窗口或者窗体的子窗体。该属性是类数组对象,除了使用数字进行索引之外,还可以使用名字或者id’进行索引

交互窗口中的JavaScript

  • 在A的脚本中var i = 1;在B脚本中引用:parent.A.i;
  • 在B中创建函数f,在A中调用需要使用parent.B.f()
  • 要时刻注意作用域
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值