在全局作用域中声明的所有变量和函数,都会成为window对象的成员。
1、窗口关系及框架
如果页面中包含框架,则每个框架都拥有自己的window对象,并且保存在frames集合中。在frames集合中,可以通过数值索引(从0开始,从左至右,从上到下)或者框架名称来访问相应的window对象。每个window对象都有一个name属性,其中包含框架的名称。示例:
<html>
<head>
<title>网站名</title>
</head>
<frameset rows="160,*">
<frame src="frame.htm" name="topFrame"/>
<frameset cols="50%,50%">
<frame src="leftframe.htm" name="leftFrame" />
<frame src="rightframe.htm" name="rightFrame" />
</frameset>
</frameset>
</html>
以上代码创建了一个框架集,可以通过window.frames[0]或window.frames["topFrame"]来引用上方的框架。
2、超时调用和间歇调用
超时调用需要使用window对象的setTimeout()方法,它接受两个参数:要执行的代码和以毫秒表示的时间(即在执行代码前需要等待多少毫秒)。其中,第一个参数可以是一个包含JavaScript代码的字符串,也可以是一个函数。虽然两种方式都没问题,但由于传递字符串可能导致性能损失,因此不建议以字符串作为第一个参数。
设置间歇调用的方法是setInterval(),它接受的参数与setTimeout()相同。
- setTimeout()---超时调用方法
- clearTimeout()----取消超时调用
- setInterval()----间歇调用
- clearInterval()----取消间歇调用
3、系统对话框
- alert()-----警告对话框
- confirm()-----确认对话框,点击确认返回true,取消返回false。
- prompt()----提示对话框,除了显示OK和Cancel按钮外,还会显示一个文本输入域,供用户输入内容。可以通过检测返回值是否为null,确认用户是否输入内容。
- window.find()----打开查找对话框
- window.print()----打开打印对话框
示例1:
alert("Hello world!");
示例2:
if(confirm("确定吗?")){
alert("您点击的确认按钮");
} else {
alert("取消");
}
示例3:
var neirong=prompt(" 输入内容:","默认值");
alert(neirong);
4、location对象
location是最有用的BOM对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。下表列出了location对象的所有属性:
属性名 例子 说明
- hash "#contents" 在URL中添加hash值
- host "www.homebai.com:80" 返回服务器名称和端口号(如果有)
- hostname "www.homebai.com" 返回不带端口号的服务器名称
- href "http://www.homebai.com" 返回当前加载页面的完整URL。location.toString()方法也返回这个值
- pathname "/images/" 返回URL中的目录或文件名
- port "8080" 返回URL中指定的端口号
- protocol “http:" 返回页面中使用的协议。通常是http:或https:
- search "?q=javascript" 返回URL的查询字符串。这个字符串以问号开头