Javascript巩固2

1、1)navigator


navigator 浏览器对象 反映了当前使用的浏览器的资料。


属性
appCodeName 返回浏览器的“码名”,流行的 IE 和 NN 都返回 'Mozilla'。


appName 返回浏览器名。IE 返回 'Microsoft Internet Explorer',NN 返回
'Netscape'。


appVersion 返回浏览器版本,包括了大版本号、小版本号、语言、操作平台等信息。


platform 返回浏览器的操作平台,对于 Windows 9x 上的浏览器,返回 'Win32'(大小写
可能有差异)。


userAgent 返回以上全部信息。例如,IE5.01 返回 'Mozilla/4.0 (compatible; MSIE
5.01; Windows 98)'。


javaEnabled() 返回一个布尔值,代表当前浏览器允许不允许 Java。

 

(2)screen


screen 屏幕对象 反映了当前用户的屏幕设置。
属性


width 返回屏幕的宽度(像素数)。


height 返回屏幕的高度。


availWidth 返回屏幕的可用宽度(除去了一些不自动隐藏的类似任务栏的东西所占用的宽
度)。


availHeight 返回屏幕的可用高度。


colorDepth 返回当前颜色设置所用的位数 - 1:黑白;8:256 色;16:增强色;24/32:
真彩色


(3)window


window 窗口对象是最大的对象,它描述的是一个浏览器窗口。一般要引用
它的属性和方法时,不需要用“window.xxx”这种形式,而直接使用“xxx”。
一个框架页面也是一个窗口

 

属性
name 窗口的名称,由打开它的连接(<a target="...">)或框架页(<frame
name="...">)或某一个窗口调用的 open() 方法决定。一般我们不会用这个属性。
status 指窗口下方的“状态栏”所显示的内容。通过对 status 赋值,可以改变状态栏的
显示。


opener 用法:window.opener;返回打开本窗口的窗口对象。注意:返回的是一个窗口对
象。如果窗口不是由其他窗口打开的,在 Netscape 中这个属性返回 null;在 IE 中返回
“未定义”(undefined)。undefined 在一定程度上等于 null。注意:undefined 不是
JavaScript 常数,如果你企图使用“undefined”,那就真的返回“未定义”了。
self 指窗口本身,它返回的对象跟 window 对象是一模一样的。最常用的是
“self.close()”,放在<a>标记中:“<a href="javascript:self.close()">关闭窗口
</a>”。


parent 返回窗口所属的框架页对象。


top 返回占据整个浏览器窗口的最顶端的框架页对象。


history 历史对象,见下。


location 地址对象,见下。


document 文档对象,见下。


方法
open() 打开一个窗口。
用法:open(<URL 字符串>, <窗口名称字符串>, <参数字符串>);
<URL 字符串>:描述所打开的窗口打开哪一个网页。如果留空(''),则不打开任何网
页。
<窗口名称字符串>:描述被打开的窗口的名称(window.name),可以使用'_top'、
'_blank'等内建名称。这里的名称跟“<a href="..." target="...">”里的“target”属
性是一样的。
<参数字符串>:描述被打开的窗口的样式。如果只需要打开一个普通窗口,该字符串留
空(''),如果要指定样式,就在字符串里写上一到多个参数,参数之间用逗号隔开。
例:打开一个 400 x 100 的干净的窗口:


open('','_blank','width=400,height=100,menubar=no,toolbar=no,
location=no,directories=no,status=no,scrollbars=yes,resizable=yes')
参数


top=# 窗口顶部离开屏幕顶部的像素数


left=# 窗口左端离开屏幕左端的像素数


width=# 窗口的宽度


height=# 窗口的高度


menubar=... 窗口有没有菜单,取值 yes 或 no

toolbar=... 窗口有没有工具条,取值 yes 或 no


location=... 窗口有没有地址栏,取值 yes 或 no


directories=... 窗口有没有连接区,取值 yes 或 no


scrollbars=... 窗口有没有滚动条,取值 yes 或 no


status=... 窗口有没有状态栏,取值 yes 或 no


resizable=... 窗口给不给调整大小,取值 yes 或 no


fullscreen= 窗口是否全屏,取值 yes 或 no


open() 方法有返回值,返回的就是它打开的窗口对象。所以,
var newWindow = open('','_blank');
这样把一个新窗口赋值到“newWindow”变量中,以后通过“newWindow”变量就可以
控制窗口了。


close() 关闭一个已打开的窗口。


用法:window.close() 或 self.close():关闭本窗口;
<窗口对象>.close():关闭指定的窗口。
如果该窗口有状态栏,调用该方法后浏览器会警告:“网页正在试图关闭窗口,是否
关闭?”然后等待用户选择是否;如果没有状态栏,调用该方法将直接关闭窗口。


blur() 使焦点从窗口移走,窗口变为“非活动窗口”。


focus() 是窗口获得焦点,变为“活动窗口”。


scrollTo() 用法:[<窗口对象>.]scrollTo(x, y);使窗口滚动,使文档从左上角数起的
(x, y)点滚动到窗口的左上角。


scrollBy() 用法:[<窗口对象>.]scrollBy(deltaX, deltaY);使窗口向右滚动 deltaX
像素,向下滚动 deltaY 像素。如果取负值,则向相反的方向滚动。


resizeTo() 用法:[<窗口对象>.]resizeTo(width, height);使窗口调整大小到宽
width 像素,高 height 像素。


resizeBy() 用法:[<窗口对象>.]resizeBy(deltaWidth, deltaHeight);使窗口调整大
小,宽增大 deltaWidth 像素,高增大 deltaHeight 像素。如果取负值,则减少。


alert() 用法:alert(<字符串>);弹出一个只包含“确定”按钮的对话框,显示<字符串>
的内容,整个文档的读取、Script 的运行都会暂停,直到用户按下“确定”。


confirm() 用法:confirm(<字符串>);弹出一个包含“确定”和“取消”按钮的对话框,
显示<字符串>的内容,要求用户做出选择,整个文档的读取、Script 的运行都会暂停。如
果用户按下“确定”,则返回 true 值,如果按下“取消”,则返回 false 值。


prompt() 用法:prompt(<字符串>[, <初始值>]);弹出一个包含“确认”“取消”和一个
文本框的对话框,显示<字符串>的内容,要求用户在文本框输入一些数据,整个文档的读
取、Script 的运行都会暂停。如果用户按下“确认”,则返回文本框里已有的内容,如果
用户按下“取消”,则返回 null 值。如果指定<初始值>,则文本框里会有默认值。


setTimeout () 和 setInterval () 的使用

 

这两个方法都可以用来实现在一个固定时间段之后去执行 JavaScript。不过
两者各有各的应用场景。
实际上,setTimeout 和 setInterval 的语法相同。它们都有两个参数,一个是
将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间
段之后就将执行那段代码。
不过这两个函数还是有区别的,setInterval 在执行完一次代码之后,经过了
那个固定的时间间隔,它还会自动重复执行代码,而 setTimeout 只执行一次那
段代码。
虽然表面上看来 setTimeout 只能应用在 on-off 方式的动作上,不过可以通
过创建一个函数循环重复调用 setTimeout,以实现重复的操作

 

showTime();
function showTime()
{
var today = new Date();
alert("The time is: " + today.toString());
setTimeout("showTime()", 5000);
}

一旦调用了这个函数,那么就会每隔 5 秒钟就显示一次时间。如果使用 setI
nterval,则相应的代码如下所示:

 

setInterval("showTime()", 5000);
function showTime()
{
var today = new Date();
alert("The time is: " + today.toString());
}

 

这两种方法可能看起来非常像,而且显示的结果也会很相似,不过两者的最
大区别就是,

setTimeout 方法不会每隔 5 秒钟就执行一次 showTime 函数,它是
在每次调用 setTimeout 后过 5 秒钟再去执行 showTime 函数。这意味着如果 sh
owTime 函数的主体部分需要 2 秒钟执行完,那么整个函数则要每 7 秒钟才执行
一次。而 setInterval 却没有被自己所调用的函数所束缚,它只是简单地每隔一定
时间就重复执行一次那个函数。


如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用
setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的
调用需要繁重的计算以及很长的处理时间,那么最好使用 setTimeout。
用 setInterval 命令来创建的对象,可以用 clearInterval () 命令来终止。

 

var MyMar=setInterval(showTime(),speed);

clearInterval(MyMar);

 

 

4)history
history 历史对象指浏览器的浏览历史。
属性
length 历史的项数。JavaScript 所能管到的历史被限制在用浏览器的“前进”“后退”
键可以去到的范围。本属性返回的是“前进”和“后退”两个按键之下包含的地址数的
和。
方法
back() 后退,跟按下“后退”键是等效的。
forward() 前进,跟按下“前进”键是等效的。
go() 用法:history.go(x);在历史的范围内去到指定的一个地址。如果 x < 0,则后退
x 个地址,如果 x > 0,则前进 x 个地址,如果 x == 0,则刷新现在打开的网页。


history.go(0) 跟 location.reload() 是等效的。
(5)location
location 地址对象描述的是某一个窗口对象所打开的地址。要表示当前窗口的地址,
只需要使用“location”就行了;若要表示某一个窗口的地址,就使用“<窗口对
象>.location”。
注意 属于不同协议或不同主机的两个地址之间不能互相引用对方的 location 对象,
这是出于安全性的需要。例如,当前窗口打开的是“www.a.com”下面的某一页,另外一个
窗口(对象名为:bWindow)打开的是“www.b.com”的网页。如果在当前窗口使用
“bWindow.location”,就会出错:“没有权限”。这个错误是不能用错误处理程序
(Event Handler,参阅 onerror 事件)来接收处理的。
属性
protocol 返回地址的协议,取值为 'http:','https:','file:' 等等。
hostname 返回地址的主机名,例如,一个“http://www.microsoft.com/china/”的地
址,location.hostname == 'www.microsoft.com'。
port 返回地址的端口号,一般 http 的端口号是 '80'。
host 返回主机名和端口号,如:'www.a.com:8080'。
pathname 返回路径名,如“http://www.a.com/b/c.html”,location.pathname ==
'b/c.html'。
hash 返回“#”以及以后的内容,如“http://www.a.com/b/c.html#chapter4”,

 

location.hash == '#chapter4';如果地址里没有“#”,则返回空字符串。
search 返回“?”以及以后的内容,如
“http://www.a.com/b/c.asp?selection=3&jumpto=4”,location.search ==
'?selection=3&jumpto=4';如果地址里没有“?”,则返回空字符串。
href 返回以上全部内容,也就是说,返回整个地址。在浏览器的地址栏上怎么显示它就怎
么返回。如果想一个窗口对象打开某地址,可以使用“location.href = '...'”,也可以
直接用“location = '...'”来达到此目的。
方法
reload() 相当于按浏览器上的“刷新”(IE)或“Reload”(Netscape)键。
replace() 打开一个 URL,并取代历史对象中当前位置的地址。用这个方法打开一个 URL
后,按下浏览器的“后退”键将不能返回到刚才的页面。
(6)document
document 文档对象 描述当前窗口或指定窗口对象的文档。它包含了文档从<head>到
</body>的内容。
用法:document (当前窗口)
或 <窗口对象>.document (指定窗口)
属性
lastModified 当前文档的最后修改日期,是一个 Date 对象。
referrer 如果当前文档是通过点击连接打开的,则 referrer 返回原来的 URL。
title 指<head>标记里用<title>...</title>定义的文字。在 Netscape 里本属性不接受
赋值。
fgColor 指<body>标记的 text 属性所表示的文本颜色。
bgColor 指<body>标记的 bgcolor 属性所表示的背景颜色。
linkColor 指<body>标记的 link 属性所表示的连接颜色。
alinkColor 指<body>标记的 alink 属性所表示的活动连接颜色。
vlinkColor 指<body>标记的 vlink 属性所表示的已访问连接颜色。
方法
open() 打开文档以便 JavaScript 能向文档的当前位置(指插入 JavaScript 的位置)写
入数据。通常不需要用这个方法,在需要的时候 JavaScript 自动调用。
write(); writeln() 向文档写入数据,所写入的会当成标准文档 HTML 来处理。
writeln() 与 write() 的不同点在于,writeln() 在写入数据以后会加一个换行。这个换
行只是在 HTML 中换行,具体情况能不能够是显示出来的文字换行,要看插入 JavaScript
的位置而定。如在<pre>标记中插入,这个换行也会体现在文档中。
clear() 清空当前文档。
close() 关闭文档,停止写入数据。如果用了 write[ln]() 或 clear() 方法,就一定要

用 close() 方法来保证所做的更改能够显示出来。如果文档还没有完全读取,也就是说,
JavaScript 是插在文档中的,那就不必使用该方法。
现在我们已经拥有足够的知识来做以下这个很多网站都有的弹出式更新通
知了。

<script language="JavaScript">
<!--
var whatsNew =
open('','_blank','top=50,left=50,width=200,height=300,' +
'menubar=no,toolbar=no,directories=n
o,location=no,' +
'status=no,resizable=no,scrollbars=y
es');
whatsNew.document.write('<center><b>更新通知</b></center>');
whatsNew.document.write('<p>最后更新日期:00.08.01');
whatsNew.document.write('<p>00.08.01:增加了“我的最爱”栏目。');
whatsNew.document.write('<p align="right">' +
'<a href="javascript:self.close()">
关闭窗口</a>');
whatsNew.document.close();
-->
</script>

 

当然也可以先写好一个 HTML 文件,在 open() 方法中直接 load 这个文件。
(7)anchors[]; links[]; Link
anchors[]; links[]; Link 连接对象。
用法:document.anchors [ [ [x] ] ] ; document.links [ [ [x] ] ] ; <anchorId>; <linkId>
document.anchors 是一个数组,包含了文档中所有锚标记(包含 name 属性的<a>标
记),按照在文档中的次序,从 0 开始给每个锚标记定义了一个下标。
document.links 也是一个数组,包含了文档中所有连接标记(包含 href 属性的<a>
标记和<map>标记段里的<area>标记),按照在文档中的次序,从 0 开始给每个连接标记
定义了一个下标。
如果一个<a>标记既有 name 属性,又有 href 属性,则它既是一个 Anchor 对象,又

 

是一个 Link 对象。
在 IE 中,如果在<a>标记中添加“id="..."”属性,则这个<a>对象被赋予一个标识
(ID),调用这个对象的时候只需要使用“<id>”就行了。很多文档部件都可以用这个方
法来赋予 ID,但要注意不能有两个 ID 相同。
anchors 和 links 作为数组,有数组的属性和方法。单个 Anchor 对象没有属性;单
个 Link 对象的属性见下。
属性
protocol; hostname; port; host; pathname; hash; search; href 与 location 对象相
同。
target 返回/指定连接的目标窗口(字符串),与<a>标记里的 target 属性是一样的。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值