?? javascr5.html
字號:
<html><head><title>JavaScript 第 五 集</title><script language="JavaScript"><!-- Hide function initArray() { this.length = initArray.arguments.length for (var i = 0; i < this.length; i++) this[i+1] = initArray.arguments[i] } function stat(txt) { window.status = txt; setTimeout("erase()",1500); } function erase() { window.status=""; }// --></script></head><BODY bgcolor="ffffff" link=#ff0000 vlink=#4444dd alink=#9999dd><center><a name="arrays"></a><img src="java.gif" ><br><font size=+2 color=#FF0000><br>第 五 集</center></a></font><p><HR WIDTH="80%" ALIGN="center" SIZE="2"><p><br><br><font size=+1>陣 列(arrays)的 運 用 是 程 式 設 計 中 一 項 種 要 的 技 術。 每 一 種 程 式 語 言 均 以 某 種 特 定 方 式 來 表 示 陣列。 或 許 您 已 了 解 陣 列 在 程 式 設 計 中 的 好 處, 但 翻 遍Netscape所 提 供 的 文 件, 并 沒 有 提 及 如 何 使用 陣 列。 這 是 因 為JavaScript并 不 支 援 陣 列。 但 是 現 在 我 將 教 您 如 何 在JavaScript中 使 用 陣 列。<br><br>首 先, 陣 列 是 干 用 的?您 可 以 把 它 看 成 一 長 串 的 變 數(variables)。 假 設 您 現 在 需 要 宣 告10個 變 數, 您 可 以 一 個 個 將10個 變 數 宣 告 為 a, b, c ..., 但 當 您 需 要100個 或 更 多 的 變 數 時, 這 種 方 法 將 會變 得 很 麻 煩。 若 您 使 用 一 個 擁 有10個 元 素(elements)的 陣 列(暫 且 命 名 為 'MyArray')來 表 示 這10個變 數, 則 可 以 用 MyArray[1], MyArray[2], MyArray[3]...分 別 代 表 第 一,二,三....個 變 數(很 多 程式 語 言 是 從0開 始 當 作 第 一 個 元 素, 但 在JavaScript語 法 中 是 從1開 始)。 因 此 若 您 想 將 第 一 個 元 素(或 稱 變 數)的 值 指 定 為17, 您 只 要 寫 成 <i>MyArray[1]=17</i>即 可。 由 此 可 看 出 陣 列 的 功 用 和 一 般 變數 是 相 同 的。 不 光 如 此, 若 您 想 將 所 有 元 素 的 值 均 指 定 為17, 您 只 要 寫 一 個 簡 單 的 圈(loop)即可:<br><i>for (var i=1;i<11;i++) MyArray[i]=17</i><br>for- 這 個 指 令 是 告 訴 電 腦 其 後 的 指 令 總 共 要 執 行 幾 次。for- 圈 是 從1開 使, 也 就 是 電 腦 會 先 執行MyArray[1]=17。 然 後 i 會 增 加1并 接 著 執 行MyArray[2]=17。 i 每 次 遞 增1直 到 i=10為 止。<br><br>接 下 來 教 您 如 何 做 陣 列 的 初 始 化(initialization)。 這 個 問 題 曾 在 JavaScript Mailing list中 討 論 過。(如 果 您 想 訂 閱 mailing list, 您 只 要 在e-mail中 填 入 <i>subscribe javascript-digest</i> 并 寄 到 <i>majordomo@obscure.org</i> 即 可。 接 著 您 每 天 就 會 收 到 一 到 二 個 約20-30kB的 大 檔 案, 這 些 檔 案 包 括 所 有 來 自JavaScript- list的 信 件)。<p><pre>function initArray() { this.length = initArray.arguments.length for (var i = 0; i < this.length; i++) this[i+1] = initArray.arguments[i] }<p></pre>您 不 需 要 了 解 這 個 函 式(function)的 意 義, 您 只 要 知 道 怎 麼 用 就 好。 如 果 您 要 宣 告 一 個 擁 有 三 個 元素 的 陣 列, 且 其 值 分 別 指 定 為 17,18,19, 您 只 要 寫 成 : <i>var MyArray= new initArray(17,18,19)</i>。 您也 可 以 用 字 串(strings)當 作 元 素 的 值 : <i>var heyho= new initArray("This","is","酷")</i>。 因 此 您 不 必 管 元素 值 的 型 式(type), 即 使 混 著 用 也 行 : <i>var Mixedup= new initArray(17,"yo",103)</i>。<p>下 面 我 將 對 一 個 陣 列 'Mixedup' 作 初 始 化, 并 顯 示 陣 列 的 內 容 :<p><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><p>其 原 始 碼 如 下:<p><pre><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></pre><p><HR WIDTH="80%" ALIGN="center" SIZE="2"><p><a name="clear"></a>當 我 昨 天 寫 一 個 小 游 戲 時, 我 遇 到 一 個 您 也 可 能 會 碰 到 的 問 題。 當 您 想 清 除 視 窗 或frame中 的 內容 時,Netscape文 件 中 提 到 了 一 個 函 式 可 用-- 'document.clear()'。 但 當 您 將 此 函 式 寫 入 網 頁 中,它 并 不 會 如 預 期 的 清 除 視 窗 或frame中 的 內 容。 而 且 document.clear()在 各 種 平 臺(platform)上 似 都 無 效。Gordon McComb告 訴 我 一 個 清 除 視 窗 或frame中 內 容 的 好 方 法, 您 可 以 試 試 : <p><pre> document.close(); document.open(); document.write("<P>");</pre><p>您 不 一 定 要 寫 最 後 一 行 <i>document.write("<P>");</i>, 只 有 當 您 想 在 視 窗 中 寫 入 某 些 東 西 時 才 需 要 加入 此 行。 上 述 方 法 對frame亦 有 效。<p><HR WIDTH="80%" ALIGN="center" SIZE="2"><p><a name="back"></a>接 下 來 我 們 談 一 個 可 以 讓 您 在 不 同 文 件 之 間 穿 梭 的 語 法-- back() 和 forward() 兩 個 函 式。 通 常我 們 在 網 頁 中 加 的 back- link和 Netscape- Navigator中 的 "Back鍵" 功 能 上 并 不 相 同。Netscape- Navigator中 的 "Back鍵" 是 回 到 您history list中 的 上 一 頁。 您 現 在 也 可 利 用JavaScript做 到 相 同 的功 能。 只 要<a href="backtest.html">按 下 此 link </a>, 您 可 以 再 度 回 到 此 頁。JavaScript語 法 的 原 始 碼如 下 :<p><pre><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></pre>您 也 可 以 用 <i>history.go(-1)</i> 和 <i>history.go(1)</i> 代 替.<p><HR WIDTH="80%" ALIGN="center" SIZE="2"><h4><a href="index.html" onMouseOver="stat('回 到 主 頁'); return true">回 主 目 錄</a> </h4></center><p><br><i>原 作 最 後 更 新: 3.March'96<br>© 1996 by Stefan Koch<br>譯 作 最 後 更 新:1996年3月20日<br>© 1996 由 <font color=red>段 喜 亭</font> 翻 譯</i><br><br></body></html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -