(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等 。
闽公网安备 35060202000074号