您的位置:寻梦网首页编程乐园JavaScriptJavascript 教程篇
第 1 集 第 2 集 第 3 集 第 4 集 第 5 集 第 6 集 第 7 集

Javascript教程篇

第 5 集




阵列(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[i]="17"
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' 作初始化, 并显示阵列的内容:

其原始码如下:

<script language="JavaScript">
<!-- Hide
  var Mixedup= new initArray(17,"yo",103);
  document.write("Element No. 1: "+Mixedup[1]+"<br>");
  document.write("Element No. 2: "+Mixedup[2]+"<br>");
  document.write("Element No. 3: "+Mixedup[3]+"<br>");
// -->  
</script>

当我昨天写一个小游戏时, 我遇到一个您也可能会碰到的问题。 当您想清除视窗或frame中的内容时, Netscape文件中提到了一个函式可用-- 'document.clear()'。 但当您将此函式写入网页中, 它并不会如预期的清除视窗或frame中的内容。 而且document.clear()在各种平台(platform)上似乎都无效。Gordon McComb告诉我一个清除视窗或frame中内容的好方法, 您可以试试 :

     document.close();
     document.open();
     document.write("<P>");

您不一定要写最後一行 document.write("<P>");, 只有当您想在视窗中写入某些东西时才需要加入此行。 上述方法对frame亦有效。


接下来我们谈一个可以让您在不同文件之间穿梭的语法-- back() 和 forward() 两个函式。 通常我们在网页中加的 back- link和 Netscape- Navigator中的 "Back键" 功能上并不相同。Netscape- Navigator中的 "Back键" 是回到您history list中的上一 页。 您现在也可利用JavaScript做到相同的功能。 只要按下此 link , 您可以再度回到此页。JavaScript语法的原始码如下 :

<html>
<body>
<FORM NAME="buttonbar">
     <INPUT TYPE="button" VALUE="Back" onClick="history.back()">
     <INPUT TYPE="button" VALUE="JS- Home" onClick="location='script.html'">
     <INPUT TYPE="button" VALUE="Next" onCLick="history.forward()">
</FORM>
</body>
</html>

您也可以用 history.go(-1)history.go(1) 代替.