(1)一 个 简 单 的 例 子 javascript的 编 程 工 作 复 杂 与 否 和Html文 档所 提 供 的 功 能 大 小 密 切相 关 ,我 们 用 几 个 简 单 的 例 子 来介 绍 它 的 编 程 特 点 。 例 1.一 个 简 单 的 Script <HTML> <TITLE>This is a test</TITLE> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- to hide script contents from old browsers // end hiding contents from old browsers--> </SCRIPT> </HEAD> <BODY> This is a test: <SCRIPT LANGUAGE="JavaScript"> document.write "Hello!" </SCRIPT> </BODY> </HTML> 例 1显 示 结 果 为 : This is a test:Hello! 从 以 上 例 子 中 可 以 发 现 ,JavaScript源 代 码 被 嵌 在 一 个 HTML文 档 中,它 可 以出 现 在 文档 头 部 (HEAD节 )和 文 档 体 部 (BODY节 )。SCRIPT标 记 的 一 般 格 式 为 : <SCRIPT LANGUAGE="JavaScript"> JavaScript语 句 串 ... </SCRIPT> 为 了 使 老 版 本的浏览器(即Navigator2.0版 以前的 浏 览 器 )避 开 不 识 别 的"JavaScript语句串 ",用 JavaScript编 写 的 源 代 码 可 以 用注 解 括 起来 ,即 ,使 用 HTML 的注 解 标 记 <!--???-->(如上例 所 示 ),而 Navigator 2.x可 以 识 别 放 在注 解 行 中的 JavaScri pt源 代 码 。 (2)一 个 调 用 函 数 的 例 子 内 建 函 数 在 JavaScript中 占 有 很 大的 比例,由 于 它 由 Netscape浏 览 器 支 持 并解 释 执 行 ,给 Web制 作 者 提供了编写 的 工具函 数 ;JavaScript还 为 用 户 提 供 自 己 定义 函 数 和 调用函数的能力 ,使 Web编 写 者 具 有 编程 手 段 的 灵 活 性 。 函 数 的 定 义 与 调 用 同 一 般 的 程 序设 计 语 言 类 似 ,但 由 于 浏 览 器 浏 览的Web页 是 顺 序 从 WWW服 务 器 调 出 ,并 由 Netscape浏 览 器解 释 执 行 的 ,函 数 必 须 先定义(一 般 放在 HEAD节)后 调用 (一 般 放 在 BODY节 )。 例 2.一 个 有 函 数 定 义 和 调 用的 JavaScript <HTML> <TITLE>This is a function's test </TITLE> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- to hide script contents from old browsers> function square(i){ document.write("The call passed",i,"to the square function."," ") return i*i } document.write("The function re-turned",square(8) ,".") //end hiding contents from old drowsers --> </SCRIPT> </HEAD> <BODY> All done. </BODY> </HTML> 该 例 显 示 结 果 为 : The call passed 8 to the square func-tion. The function returned 64. All done. 从 执 行 结 果 可 以 看 出 ,一 个 函数 定 义 时 并 不 发 生 作 用 ,只 有 在 引 用 时 (函数 定 义 后的 document.write语 句 )才被 激 活 。 (3)编 写 事 件 处 理 程 序 JavaScript的 应 用 中 大 量 采 用 事件 驱 动 。Web 页 中 的 一 个 事 件 是 指 用 户 做一 件 事 后引起 的 动 作 。 例 如 ,用 户 移 动 鼠 标到 某 个链接点 、 点 击 鼠 标 、 针 表 格 填 写 后 的 提 交动作等 都 被 认 为 是 一 个 事 件 。 Web页作 者 可 以定义 事件 处 理 程 序(event handl er),在 出 现 一 个 事 件 后 自 动 触 发 执 行 该 事 件 处 理 程 序 。 例 3是 一 个 由 事 件驱 动(输入后点击 Cal-culate按 钮 的 动 作 )的 例 子 。 例 3.具 有 填 表 和 提 交 功 能 的事件处理 Script <HTML> <TITLE>Form Object example </TITLE> <HEAD> <SCRIPT LANGUAGE="JavaScript"> function compute(obj){ obj.result.value=eval(obj.eXPr.value) } </SCRIPT> </HEAD> <BODY> <FORM NAME="evalform" METHOD="get"> Enter an expression: <TNPUT TYPE="text"NAME="expr" SIZE=20> Result: <INPUT TYPE="text"NAME="result" SIZE=15> <INPUT TYPE="button"NAME="Bottom1" VALUE="Calculate" onClick="compute(this.form)"> </FORM> </BODY> </HTML> 该 例 运 行 时 出 现 : Enter an expression: ______ Result: ______ Calculate 在 Enter an expression:栏 中 输 入 一个表达式(如 22*3-6),然 后 点 击Calculate按 钮 ,相应 的结果显 示 在 Result栏 内 (如 60)。 由 例 3源 代 码 和 运 行 结 果 可 以 看 出 : ① 在 HTML源 代 码 的头部定义 了一个名叫compute的 函 数 ,其 形式 参 数 obj是一 个form(表 格 )。当用 户 输 入 表 达 式 后 ,点 击 Calculate按 钮 ,由 此 触 发 的 事 件 处理 程 序 onClick调 用compute函数 ,并 携 带 了 参 数 this.form,将 表 格 对 象(由 < FORM>贩?</FOR M>定 义 )交 给事 件 处 理 程序调 用 的 函 数 compute去 处 理 。 函 数 compute由 一 条 赋 值 语 句 构成 ,其 右 部是 JavaScript的 内 建 函 数 eval,它 可以 自 动 分析表 格 中 名 为 "expr"栏 内 的 输 入 字 符 串 ,计 算出 其 值 ;计 算 出 的 结 果传 送 给 表 格(form)中名为 "result"的 栏 内 ,这 样 ,在 屏 幕 上 Result:后的框 中 出 现 计 算结 果 。 除 例 3中 出现的JavaScript事件处理 程 序onClick,另 外 还 有 一 些 类似 程 序 ,包括 :on-Blur,onChange ,onFocus,onLoad,on-MouseOver,onSelect,onSubmit, onUn-load等 。
|