- 在线时间
- 0 小时
- 最后登录
- 2007-9-23
- 注册时间
- 2004-9-10
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 9975 点
- 威望
- 7 点
- 阅读权限
- 150
- 积分
- 4048
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1893
- 主题
- 823
- 精华
- 2
- 分享
- 0
- 好友
- 0

我的地盘我做主
该用户从未签到
|
JavaScript简介 < >第五章 & q9 A1 D* x2 \, R* H) G' E
& n0 x8 p( c) a$ Q9 t
</P><DIV align=center><TABLE cellSpacing=0 cellPadding=0 width=500 border=0><TR><TD> 阵列(arrays)的运用是程式设计中一项种要的技术。每一种程式语言均以某种特定方式来表示阵 列。或许您已了解阵列在程式设计中的好处,但翻遍Netscape所提供的文件,并没有提及如何使 用阵列。这是因为JavaScript并不支援阵列。但是现在我将教您如何在JavaScript中使用阵列。首先,阵列是干啥用的?您可以把它看成一长串的变数(variables)。假设您现在需要宣告10个变数 ,您可以一个个将10个变数宣告为 a, b, c ...,但当您需要100个或更多的变数时,这种方法将会 变得很麻烦。若您使用一个拥有10个元素(elements)的阵列(暂且命名为 'MyArray')来表示这10个 变数,则可以用 MyArray[1], MyArray[2], MyArray[3]...分别代表第一,二,三....个变数(很多程 式语言是从0开始当作第一个元素,但在JavaScript语法中是从1开始)。因此若您想将第一个元素 (或称变数)的值指定为17,您只要写成 MyArray[1]=17即可。由此可看出阵列的功用和一般变 数是相同的。不光如此,若您想将所有元素的值均指定为17,您只要写一个简单的回圈(loop)即 可: < > for (var i=1;i<11;i++) MyArray="17</i"> < > for- 这个指令是告诉电脑其後的指令总共要执行几次。for- 回圈是从1开使,也就是电脑会先执 行MyArray[1]=17。然後 i 会增加1并接著执行MyArray[2]=17。 i 每次递增1直到 i=10为止。接下来教您如何做阵列的初始化(initialization)。这个问题曾在 JavaScript Mailing list中讨论过。 (如果您想订阅 mailing list, 您只要在e-mail中填入 subscribe javascript-digest 并寄到 majordomo @obscure.org 即可。接著您每天就会收到一到二个约20-30kB的大档案,这些档案包括所有来自 JavaScript- list的信件)。 < > function initArray() { this.length = initArray.arguments.length for (var i = 0; i < > 您不需要了解这个函式(function)的意义,您只要知道怎麽用就好。如果您要宣告一个拥有三个元 素的阵列,且其值分别指定为 17,18,19,您只要写成 : var MyArray= new initArray(17,18,19)。您 也可以用字串(strings)当作元素的值 : var heyho= new initArray("This","is","酷")。因此您不必管元 素值的型式(type),即使混著用也行 : var Mixedup= new initArray(17,"yo",103)。 下面我将对一个阵列 'Mixedup' 作初始化,并显示阵列的内容 : Element No. 1: 17 < > Element No. 2: yo < > Element No. 3: 103 < > 其原始码如下: < >< RE>- <SCRIPT language=JavaScript>, F2 I0 }- Q* S3 i
- <!-- Hide var Mixedup= new initArray(17,"yo",103); document.write("Element No. 1: "+Mixedup[1]+"
/ t1 U, g6 n# Y3 f: y( q - "); document.write("Element No. 2: "+Mixedup[2]+"
7 J L( V3 A$ ^% p; F - "); document.write("Element No. 3: "+Mixedup[3]+"6 n\" y+ k4 @7 d2 ?
- ");// --> . m+ c, u4 a; q* F* d
- <script>
复制代码 Element No. 1: 17
* u# D$ H+ V! a' t+ `2 c' VElement No. 2: yo
6 K$ @2 Q6 V" i0 J0 Z6 O6 p( X" k' \Element No. 3: 103- ]- d+ d8 ^8 P, {$ r* i0 c5 w
</PRE>< > Element No. 1: 17Element No. 2: yoElement No. 3: 103-- < > 当我昨天写一个小游戏时,我遇到一个您也可能会碰到的问题。当您想清除视窗或frame中的内 容时,Netscape文件中提到了一个函式可用-- 'document.clear()'。但当您将此函式写入网页中, 它并不会如预期的清除视窗或frame中的内容。而且 document.clear()在各种平台(platform)上似乎 都无效。Gordon McComb告诉我一个清除视窗或frame中内容的好方法,您可以试试 : document.close(); document.open(); document.write(" < > "); 您不一定要写最後一行 document.write("");,只有当您想在视窗中写入某些东西时才需要加 入此行。上述方法对frame亦有效。 < > 接下来我们谈一个可以让您在不同文件之间穿梭的语法-- back() 和 forward() 两个函式。通常 我们在网页中加的 back- link和 Netscape- Navigator中的 "Back键" 功能上并不相同。Netscape- Navigator中的 "Back键" 是回到您history list中的上一页。您现在也可利用JavaScript做到相同的 功能。只要按下此 link ,您可以再度回到此页。JavaScript语法的原始码如下 : <FORM>< RE> <I></I><INPUT> <INPUT> <INPUT></PRE></FORM>< > < > 您也可以用 history.go(-1) 和 history.go(1) 代替. </P></TD></TR></TABLE></DIV> |
|