BOM

一.window 对象

window 既是访问浏览器的接口,也是Global对象

1.Global 对象:目的是把全局方法集中在一个对象中,没有语法直接调用方法,不直接使用不能用new运算符创建。


2.window窗口关系及框架
(1)窗口位置:对于引用框架,最好不要使用window来引用,i使用top等属性,

screenX:设置或获取浏览器窗口左上角相对于屏幕左上角的X坐标。
screenY:设置或获取浏览器窗口左上角相对于屏幕左上角的Y坐标
screenLeft:设置或获取浏览器窗口左上角相对与屏幕左上角的X坐标。
screenTop:设置或获取浏览器窗口左上角相对于屏幕左上角的Y坐标。
这些方法存在兼容性问题。

(2)框架:

top对象始终指向浏览器窗口,但是window对象创建的窗口知识特定的实例,并不是最高层框架,就算是parent(父),指向的也是直接上层对象,有可能等于TOP但是并不就是TOP。


3.窗口
(1)相同的属性在不同的浏览器表示的属性不一样,返回的值和效果都不一样。在获取信息时的方法也不一样
innerHeight,innerWidth,outerHeight,outerWidth
这四种方法在不同浏览器有着不同的意思和效果。

(2)不同浏览器对安全限制也不一样

间歇调用和超时调用:
超时调用使用setTimeout()方法:

<!DOCTYPE html>

<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<p>enjoy yourself</p>
<script type="text/javascript">
setTimeout(function () {
alert("Hello world!");
}, 1000);
</script>


</body>
</html>

最开始在界面显示的是<p>标签里面的内容,在1000毫秒之后,弹出有HELLO WORLD 的提示框,对于提示框超时函数,让其显示的时间延后了1000毫秒

只要是在指定的时间尚未过去之前调用clearTimeout(),就可以完全取消超时调用。前面的代码在设置超时调用之后马上有调用了clearTimeout(),在上面的方法中添加此方法,显示被取消。


间歇调用使用setInterval()方法:

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4   <meta charset="UTF-8">
 5 </head>
 6 <body>
 7 
 8 <input type="text" id="clock" size="35" />
 9 <script language=javascript>
10 var int=self.setInterval("clock()",50)
11 function clock()
12   {
13   var t=new Date()
14   document.getElementById("clock").value=t
15   }
16 </script>
17 <button onclick="int=window.clearInterval(int)">Stop interval</button>
18 
19 </body>
20 </html>

此代码的效果时,使用Date方法获取当前时间,然后使用间歇调用,只要点击按钮,获取的时间就会立刻停止不会发生变化。


系统对话框:
1.alert生成警告框直接弹出警告框并且点击确定消失
2.confirm()添加一个取消按钮,可以让用户决定是否执行给定的操作

3.添加一个文本框

对于只能点确定的alert方法,后面两种方法更适用于向用户显示消息,并且请用户作出决定。,可以增强web的方便性

二.location对象(加载文档有关信息,也提供导航)

1.查询字符串。


2.location.assign("https://www.baidu.com");
//wimdow.location="https://www.baidu.com";
location.href="https://www.baidu.com";

三种方法都可以进入百度官网首页,对于location对象有很多方法改变当前加载的页面,在其中location.href最常用。

3.

三.navigator对象

(1)可以检查是否安装插件,只需要一个plugins数组就可以达到目的,但是在使用此方法时,必须要将每个插件的name属性和给定的名字进行比较。

而对于IE浏览器,则需要使用专有的方式,并且要使用唯一标识符。

(2)新增了方法处理特定类型的信息。

四screen,history对象(不常用)

前者用来表明客户端的能力。

后者用来保存用户上网的历史记录,在检测当前页面是不是用户第一个页面时,必须使用它。

原文地址:https://www.cnblogs.com/zzzha/p/7718967.html