Microsoft Word - 01.DOC



Similar documents
新・解きながら学ぶJava

untitled

CHAPTER 1

Microsoft Word - 第3章.doc

FY.DOC

新版 明解C++入門編

CC213

Java

讲 授 内 容 Internet 发 展 简 史 WWW 基 础 HTML 简 介 制 作 一 个 HTML 页 面 HTML 文 档 结 构 HTML 基 本 元 素

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费

《大话设计模式》第一章

untitled

新版 明解C言語入門編

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

Microsoft Word - 改版式网页全文.doc

CHAPTER VC#

EJB-Programming-4-cn.doc

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

untitled

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

新・解きながら学ぶC言語

Microsoft Word - PHP7Ch01.docx

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

概述

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

第一章 章标题-F2 上空24,下空24

JavaIO.PDF

新・明解C言語入門編『索引』

javaexample-02.pdf

基于CDIO一体化理念的课程教学大纲设计

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

D getinitparameternames() 9 下 列 选 项 中, 属 于 Servlet API 中 提 供 的 request 对 象 的 包 装 类 的 是 ( ) A HttpServletRequestWrapper B HttpServletRequest C HttpServ

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

全国计算机技术与软件专业技术资格(水平)考试

Microsoft Word - fy.doc

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

网 页 设 计 实 训 教 程 1.4 实 现 过 程 任 务 1: 制 作 诗 词 欣 赏 页 面 步 骤 1: 打 开 编 辑 环 境, 创 建 HTML 文 档 1 1.html, 保 存 到 指 定 位 置, 在 文 档 中 输 入 HTML 文 档 的 基 本 结 构, 代 码 如 下 :

ebook65-20

PowerPoint Presentation

无类继承.key

Microsoft Word - ch04三校.doc

untitled

Microsoft Word - 第01章new.doc

更 改 和 删 除 内 容 ECMA-262 标 准 Edition 3 提 供 了 对 字 符 串 处 理 错 误 定 义 和 数 值 输 出 等 方 面 的 更 新, 同 时 增 加 了 对 try catch 异 常 处 理 正 则 表 达 式 新 的 控 制 语 句 等 方 面 的 完 美

ebook37-4

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

untitled

第一章 章标题-F2 上空24,下空24

untitled

(HMI) IO A

Microsoft PowerPoint - ch6 [相容模式]

Java的详细介绍

無障礙網頁開發規範二版(草案)

EJB-Programming-3.PDF

Chapter 9: Objects and Classes

c_cpp

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

chp6.ppt

RUN_PC連載_8_.doc

3.1 num = 3 ch = 'C' 2

Microsoft Word - Learn Objective-C.doc

XP11067_內文.pdf

C/C++ - 字符输入输出和字符确认

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises)

ebook215-5

05 01 accordion UI containers 03 Accordion accordion UI accordion 54

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

ebook37-3

利用得实平台进行网络课程建设

untitled

Professional Ajax Ajax Adaptive Path, LLC Jesse James Garrett Ajax php Garrett WebG

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

XXXXXXXX

1. 2. Flex Adobe 3.

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

中 山 大 学 珠 海 校 区 基 础 教 学 实 验 中 心 ( 下 简 实 验 中 心 ) 成 立 于 2000 年, 为 独 立 建 制 的 校 级 实 验 教 学 机 构 按 照 " 高 起 点, 高 标 准, 高 效 益 " 的 定 位 来 规 划 建 设, 是 一 个 实 验 资 源 高

JBuilder Weblogic

变 量 的 主 要 作 用 是 存 取 数 据 提 供 存 放 信 息 的 容 器 对 于 变 量 必 须 明 确 变 量 的 命 名 变 量 的 类 型 变 量 的 声 明 及 其 变 量 的 作 用 域 JavaScript 是 一 种 弱 类 型 语 言, 也 就 是 说, 在 声 明 变 量

6寸PDF生成工具


上海市教育考试院关于印发新修订的

Microsoft Word - 04.doc

Sunny WebBox、采用 Bluetooth® 的 Sunny WebBox 和 SUNNY PORTAL 中的 SMA Cluster Controller - 用户手册

(京)新登字063号


untitled

Microsoft Word - CPE考生使用手冊 docx

风花雪月 苍山洱海 双廊 三塔 南昭国 白族姑娘

國家圖書館典藏電子全文

untitled

Microsoft Word - 11.doc

提问袁小兵:

基于ECO的UML模型驱动的数据库应用开发1.doc

Microsoft Word - 21_HTML實力養成暨評量.doc

Transcription:

第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的 操 作 来 变 换 网 页 的 内 容, 以 实 现 HTML 语 言 所 不 能 实 现 的 效 果 1.1 历 史 版 本 与 兼 容 性 当 JavaScript 在 Navigator 浏 览 器 中 成 功 应 用 后 不 久,Microsoft 公 司 也 推 出 了 用 于 IE 浏 览 器 的 类 似 JavaScript 的 程 序 语 言, 并 将 其 命 名 为 Jscript, 本 节 将 介 绍 二 者 之 间 的 关 系 1.1.1 JavaScript 与 ECMAScript 1999 年, 欧 洲 计 算 机 制 造 协 会 (ECMA) 在 JavaScript 1.5 版 本 基 础 上 指 定 了 ECMAScript 程 序 语 言 规 范 书 (ECMA-262 标 准 ), 该 标 准 被 国 际 标 准 化 组 织 (ISO) 采 纳, 作 为 各 浏 览 器 使 用 的 脚 本 程 序 的 统 一 标 准 在 ECMAScript 标 准 公 布 后,NetScape 和 Microsoft 公 司 都 许 诺, 此 后 开 发 的 新 功 能 将 遵 循 该 标 准, 但 JavaScript 和 JScript 两 个 名 称 仍 被 两 大 公 司 分 别 使 用 JavaScript 和 JScript 的 绝 大 部 分 功 能 是 相 同 的, 但 也 有 小 部 分 内 容 完 全 不 同 本 书 主 要 介 绍 基 于 ECMAScript 标 准 的 JavaScript 语 言, 即 JavaScript 和 JScript 的 公 共 部 分, 因 此, 使 用 JavaScript 同 时 代 表 这 两 种 语 言 同 时, 为 了 保 持 内 容 和 知 识 的 完 整 性, 在 一 些 章 节 中 也 会 出 现 两 种 脚 本 不 兼 容 的 内 容, 但 会 加 以 说 明 与 一 些 编 译 性 语 言 不 同,JavaScript 是 一 种 解 释 性 的 语 言, 其 源 代 码 不 经 过 编 译, 而 直 接 在 运 行 时 被 翻 译, 因 而, 被 称 为 脚 本 式 语 言 由 于 JavaScript 的 这 一 特 点, 在 编 写 JavaScript 程 序 时, 很 难 预 计 运 行 程 序 所 使 用 的 硬 件 环 境 操 作 系 统 以 及 浏 览 器 等, 因 此, 在 进 行 程 序 开 发 时, 不 应 该 仅 使 用 其 最 高 版 本 的 特 性 和 功 能, 还 必 须 考 虑 到 低 版 本 浏 览 器

1.1.2 不 同 浏 览 器 对 JavaScript 的 支 持 由 于 绝 大 多 数 JavaScript 代 码 的 解 释 执 行 是 在 浏 览 器 中 进 行 的, 因 此 了 解 不 同 浏 览 器 对 JavaScript 的 支 持 十 分 必 要 表 1-1 表 1-2 和 表 1-3 列 出 了 不 同 浏 览 器 对 JavaScript 的 支 持 情 况 表 1-1 JScript 与 IE 对 ECMA 的 支 持 语 言 版 本 浏 览 器 版 本 遵 循 标 准 JScript 1.0 Internet Explorer 3.0 ECMA-262 版 本 1 JScript 3.0 Internet Explorer 4.0 ECMA-262 版 本 1 JScript 5.0 Internet Explorer 5.0 ECMA-262 版 本 1 JScript 5.5 Internet Explorer 5.5 ECMA-262 版 本 3 JScript 5.6 Internet Explorer 6.0 ECMA-262 版 本 3 表 1-2 JavaScript 与 NetScape 对 ECMA 的 支 持 语 言 版 本 浏 览 器 版 本 遵 循 标 准 JavaScript 1.0 Netscape 2 ECMA-262 版 本 1 JavaScript 1.2 Netscape 4.0~4.05 ECMA-262 版 本 1 JavaScript 1.3 Netscape 4.06~4.7 ECMA-262 版 本 1 JavaScript 1.4 无 ( 仅 服 务 端 ) ECMA-262 版 本 1 JavaScript 1.5 Netscape 6.x 与 7.x ECMA-262 版 本 3 JavaScript 2.0( 建 议 ) ECMA-262 版 本 4( 制 定 中 ) 表 1-3 JavaScript 与 JScript 版 本 对 照 语 言 版 本 浏 览 器 版 本 语 言 版 本 浏 览 器 版 本 JavaScript 1.0 Netscape 2 JScript 1.0 Internet Explorer 3.0 JavaScript 1.3 Netscape 4.06 JScript 3.0 Internet Explorer 4.0 JavaScript 1.5 Netscape 6+ 基 于 Mozilla 的 浏 览 器 JScript 5.5 Internet Explorer 5.5+ 鉴 于 目 前 网 络 应 用 的 现 状, 在 本 书 中, 以 ECMA-262 版 本 3 为 基 础, 结 合 JavaScript 1.5 和 JScript 5.5 来 进 行 讲 解, 同 时, 对 JavaScript 2.0 的 部 分 功 能 进 行 简 单 介 绍 1.1.3 本 书 对 读 者 知 识 结 构 的 要 求 由 于 JavaScript 是 嵌 入 在 网 页 中 的 脚 本 语 言, 所 以 了 解 必 要 的 网 页 设 计 语 言 和 规 范 是 必 须 的 本 书 限 于 篇 幅, 不 可 能 对 网 页 设 计 的 方 方 面 面 进 行 介 绍, 下 面 的 知 识, 需 要 读 者 在 使 用 本 书 前 应 有 所 了 解 对 HTML 语 言 有 较 深 的 理 解, 最 好 有 这 方 面 的 开 发 经 验 如 果 对 HTML 了 解 甚 少, 建 议 在 阅 读 本 书 前 先 学 习 一 下 HTML 的 相 关 知 识 对 CSS 知 识 应 有 初 步 了 解 本 书 第 13 章 介 绍 了 样 式 表 的 应 用, 如 果 没 有 CSS 知 识, 理 解 起 来 可 能 会 比 较 吃 力 DHTML 相 关 知 识, 本 书 的 部 分 内 容 会 涉 及 到 DHTML 如 果 有 HTML 的 基 础,DHTML 学 起 来 会 很 容 易 第 1 章 JavaScript 简 介 4

XML 相 关 基 础 知 识 在 JavaScript 数 据 处 理 中, 会 遇 到 与 XML 结 合 使 用 的 情 况, 对 XML 只 需 了 解 大 概 即 可 1.2 JavaScript 在 HTML 中 的 使 用 在 HTML 中,JavaScript 语 言 可 以 在 如 下 3 个 地 方 使 用, 本 节 将 依 次 介 绍 在 网 页 文 件 的 <script> 标 签 对 中 直 接 编 写 将 程 序 代 码 放 置 在 一 个 单 独 的 文 件 中, 在 网 页 文 件 中 的 适 当 位 置 引 用 这 个 文 件 将 程 序 代 码 作 为 某 个 元 素 的 事 件 属 性 值, 或 超 链 接 的 href 属 性 值 1.2.1 在 <script> 中 的 使 用 <script> 可 以 出 现 在 HTML 文 件 中 的 <head></head> 之 间, 也 可 以 出 现 在 <body></body> 中 的 任 何 位 置 在 一 个 HTML 文 档 中, 可 以 使 用 多 个 <script> 标 签 对, 嵌 入 多 段 JavaScript 代 码, 并 且 各 段 JavaScript 代 码 之 间 可 以 相 互 访 问, 如 同 将 所 有 代 码 放 在 一 对 <script> 标 签 之 中 的 效 果 例 如, 在 代 码 1.1 中, 一 共 定 义 了 3 段 代 码 代 码 1.1 多 段 代 码 相 互 调 用 :1.1.htm <html> <head><title> 多 段 代 码 分 开 放 置 </title></head> <body> <h1> 多 段 代 码 分 开 放 置 </h1><p> 这 里 是 第 一 段 代 码 :<br> <script language="javascript"> var x=1; // 定 义 一 个 变 量 x, 并 赋 值 为 1 document.write("<p> 这 段 代 码 将 只 输 出 这 句 话 <p>"); // 输 出 一 句 话,<p> 是 空 行 符 号 这 里 是 第 二 段 代 码 :<br> <script language="javascript"> // 输 出 前 段 代 码 中 x 的 结 果 其 中 "x=" 将 输 出 x=, // 其 后 的 x 输 出 x 的 值, 加 号 (+) 将 结 果 连 接 起 来 document.write("x="+x+"<p>"); 这 里 是 第 三 段 代 码 :<br> <script language="javascript"> var y=2; // 定 义 一 个 变 量 y, 并 赋 值 为 2 document.write("y="+y); // 输 出 y 的 值 </body> </html> 代 码 运 行 的 结 果 如 图 1.1 所 示 在 代 码 中, 第 二 段 代 码 中 的 document.write( ) 调 用 了 第 一 段 代 码 中 定 义 的 变 量 x, 显 示 正 常 这 同 第 三 段 代 码 中 调 用 y 的 效 果 是 一 样 的 5 1.2 JavaScript 在 HTML 中 的 使 用

图 1.1 运 行 结 果 1.2.2 代 码 屏 蔽 有 些 浏 览 器 不 能 很 好 地 支 持 JavaScript, 在 这 些 浏 览 器 中, 需 要 将 JavaScript 代 码 屏 蔽, 否 则, 浏 览 器 会 把 JavaScript 代 码 与 Web 页 面 的 其 他 内 容 一 起 显 示 在 屏 幕 上, 可 以 将 <script> 标 签 对 中 的 内 容 用 HTML 的 注 释 标 记 ( 和 ) 括 起 来, 如 下 所 示 <script language="javascript"> alert(new Date()); // 被 屏 蔽 的 JavaScript 语 句 这 样, 支 持 <script> 的 浏 览 器 将 忽 略 嵌 入 在 <script> 标 签 对 中 的 HTML 注 释 符, 会 继 续 执 行 注 释 符 之 间 的 脚 本 程 序 当 用 户 浏 览 器 不 支 持 JavaScript 或 禁 用 JavaScript 时, 如 果 还 想 在 页 面 中 显 示 一 些 内 容, 可 以 使 用 <noscript></noscript> 标 签 对, 这 样, 在 支 持 JavaScript 的 浏 览 器 中, 会 显 示 <script> 中 的 内 容, 在 不 支 持 JavaScript 的 浏 览 器 中, 会 显 示 <noscript></noscript> 中 的 内 容, 而 不 会 将 二 者 同 时 显 示 出 来 例 如, 对 于 代 码 1.2 中 的 程 序 代 码 1.2 <script> 与 <noscript>:1.2.htm <html> <head><title>script 与 noscript</title></head> <body> <h1><script> 与 <noscript></h1><p> <script language="javascript"> var a; a=" 这 是 使 用 <script&gt 定 义 的 内 容 <p>"; document.write(a); <noscript> 这 是 使 用 <noscript&gt 定 义 的 内 容 </noscript> </body> 第 1 章 JavaScript 简 介 6

</html> 在 支 持 JavaScript 的 浏 览 器 中 运 行 这 段 代 码, 会 显 示 图 1.2 所 示 的 结 果 ; 在 不 支 持 JavaScript 的 浏 览 器 中 运 行 这 段 代 码, 会 显 示 图 1.3 所 示 的 结 果 图 1.2 显 示 结 果 (1) 图 1.3 显 示 结 果 (2) 1.2.3 在 单 独 文 件 中 使 用 可 以 将 脚 本 代 码 放 置 在 一 个 单 独 的 文 件 中, 该 文 件 以 js 为 扩 展 名, 称 为 JavaScript 脚 本 文 件 假 设 已 有 一 个 名 为 script.js 的 脚 本 文 件, 在 同 目 录 下 的 HTML 文 件 中 可 以 用 下 面 的 方 式 调 用 该 脚 本 文 件 : <script src="script.js" language="javascript"> 在 HTML 文 件 中 引 用 JavaScript 脚 本 文 件, 与 将 该 脚 本 文 件 直 接 插 入 到 一 对 <script> 标 签 对 中 的 效 果 相 同 如 果 一 些 脚 本 内 容 要 在 多 个 网 页 中 被 引 用, 将 这 些 脚 本 内 容 放 置 在 一 个 脚 本 文 件 中, 然 后 由 各 个 网 页 来 引 入 这 个 脚 本 文 件, 将 非 常 便 于 实 现 网 站 的 模 块 化 设 计 当 要 修 改 所 有 文 件 中 的 脚 本 内 容 时, 只 需 在 脚 本 文 件 中 修 改 一 次 即 可 例 如, 有 一 个 名 为 1.3.js 的 文 件, 内 容 如 下 document.writeln('<h1> 这 是 使 用 外 部 JS 文 件 生 成 的 行!</h1>'); 使 用 下 面 的 代 码 1.3 对 其 进 行 调 用 代 码 1.3 <script> 与 <noscript>:1.3.htm <html> <head><title>javascript 脚 本 文 件 </title> <script type="text/javascript" src="1.3.js"> </head> <body> <script language = "JavaScript"> document.write("<body bgcolor='black' text='yellow'>"); document.write(" 这 是 嵌 入 HTML 中 的 代 码 生 成 的 行 "); </body> </html> 上 面 代 码 的 运 行 结 果 如 图 1.4 所 示 7 1.2 JavaScript 在 HTML 中 的 使 用

图 1.4 运 行 结 果 1.2.4 作 为 属 性 值 使 用 HTML 中 的 超 链 接 标 签 <a> 的 href 属 性 值 除 了 可 以 使 用 http 和 mailto 等 协 议 外, 还 可 以 使 用 JavaScript, 使 用 方 式 如 下 例 所 示 <a href = "javascript:alert(new Date();)">JavaScript</a> JavaScript 扩 展 了 标 准 的 HTML, 为 HTML 标 签 增 加 了 各 种 事 件 属 性 例 如, 对 于 button 表 单 元 素, 可 以 设 置 一 个 新 的 属 性 onclick,onclick 属 性 值 就 是 一 段 JavaScript 代 码, 单 击 该 按 钮 后,onclick 属 性 值 中 的 JavaScript 代 码 就 会 被 浏 览 器 解 释 执 行 如 下 所 示 <input type = button value = test onclick = "alert(new Date());"> 注 意 用 作 URL 的 JavaScript 代 码 前 要 增 加 javascript:, 以 说 明 使 用 的 是 JavaScript 协 议, 而 事 件 属 性 中 的 JavaScript 代 码 前 不 需 要 增 加 javascript: 进 行 说 明 1.3 JavaScript 基 本 语 法 1.3.1 执 行 顺 序 JavaScript 程 序 按 照 在 HTML 文 件 中 出 现 的 顺 序 逐 行 执 行 如 果 需 要 在 整 个 HTML 文 件 中 执 行 ( 如 函 数 全 局 变 量 等 ), 最 好 将 其 放 在 HTML 文 件 的 <head> </head> 中 某 些 代 码, 比 如 函 数 体 内 的 代 码, 不 会 被 立 即 执 行, 只 有 当 所 在 的 函 数 被 其 他 程 序 调 用 时, 该 代 码 才 会 被 执 行 1.3.2 大 小 写 敏 感 JavaScript 是 对 字 母 大 小 写 敏 感 ( 严 格 区 分 大 小 写 ) 的, 也 就 是 说, 在 输 入 语 言 的 关 键 字 函 数 名 变 量 以 及 其 他 标 识 符 时, 都 必 须 采 取 一 致 的 大 小 写 形 式 例 如, 关 键 字 while 就 必 须 书 写 为 while, 而 不 能 写 为 While 或 WHILE 同 样 的, computerworld Computerworld computerworld ComputerWorld 是 4 个 不 同 的 变 量 名, 在 使 用 时 需 务 必 注 意 注 意 HTML 并 不 区 分 大 小 写 由 于 JavaScript 和 HTML 紧 密 相 连, 这 一 点 很 容 易 混 淆 许 多 JavaScript 对 象 和 属 性 都 与 其 代 表 的 HTML 标 签 或 属 性 同 名, 在 HTML 中, 这 些 名 称 可 以 以 任 意 的 大 小 写 方 式 输 入 而 不 会 引 起 混 乱, 但 在 JavaScript 中, 这 些 名 称 通 常 都 是 小 写 的 例 如,HTML 中 的 事 件 处 理 器 属 性 ONCLICK 通 常 被 声 明 为 onclick 或 OnClick, 而 在 JavaScript 中 只 能 使 用 onclick 第 1 章 JavaScript 简 介 8

1.3.3 空 白 符 与 换 行 符 JavaScript 会 忽 略 关 键 字 变 量 名 数 字 函 数 名 或 其 他 各 种 元 素 实 体 之 间 的 空 格 制 表 符 或 换 行 符, 除 非 这 些 空 格 是 字 符 串 常 量 的 一 部 分 由 于 可 以 在 各 元 素 实 体 之 间 随 意 使 用 空 格 制 表 符 或 换 行 符, 所 以 就 可 以 使 用 整 齐 一 致 的 方 式 自 由 安 排 程 序 布 局, 在 其 中 使 用 缩 进 格 式, 使 代 码 容 易 阅 读 和 理 解 1.3.4 语 句 与 分 隔 符 分 号 (;) 标 识 着 一 个 语 句 的 结 束 例 如, 可 以 将 多 个 语 句 写 在 同 一 行 内, 而 用 分 号 (;) 对 其 进 行 分 隔, 如 下 x = x + 1; y = y + 1; z = 0; 也 可 以 在 一 行 内 连 续 输 入 多 个 分 号 或 者 空 格, 如 下 x = x + 1; ;; if (x >> 10) { x = 0; }; y = y - 1; 这 些 都 不 会 改 变 程 序 的 运 行 结 果 从 上 面 包 含 多 个 分 号 的 语 句 行 可 以 看 出, 一 个 单 独 的 分 号 (;) 也 可 以 构 成 一 个 语 句, 这 样 的 语 句 称 为 空 语 句 为 了 程 序 的 整 齐 美 观, 可 以 采 用 对 齐 或 缩 进 的 方 式 同 时, 习 惯 上 每 行 只 写 一 个 单 独 的 语 句, 此 时, 语 句 后 面 的 分 隔 符 (;) 可 以 省 略, 不 会 影 响 程 序 的 意 义 但 是, 如 果 一 行 中 有 多 个 语 句, 则 分 隔 符 是 必 需 的, 而 最 后 一 条 语 句 后 面 的 分 号 (;) 可 以 省 略 例 如, 下 面 的 两 行 语 句 是 等 效 的 x = x + 1; y = y 1 x = x + 1; y = y 1; 之 所 以 可 以 省 略 行 末 的 分 号, 是 因 为 JavaScript 会 自 动 插 入 例 如 下 面 的 写 法 return x 会 被 JavaScript 处 理 为 return; x; 这 一 点 需 要 特 别 注 意 因 为 这 种 代 码 不 会 引 起 语 法 错 误, 但 会 产 生 一 种 不 明 确 的 状 态, 出 现 非 预 期 的 结 果 同 样, 下 面 的 代 码 也 会 产 生 问 题 break outerloop JavaScript 会 在 break 后 插 入 一 个 分 号 (;), 当 要 解 释 下 一 行 代 码 时, 就 会 引 起 语 法 错 误 其 他 运 算 符 如 ++ -- 等 也 要 和 其 作 用 的 表 达 式 处 在 同 一 行 中 提 示 语 句 末 的 分 号 虽 然 不 是 必 须 的, 但 养 成 好 的 习 惯 有 助 于 减 少 程 序 的 出 错 几 率 另 外, 要 注 意 区 分 英 文 分 号 ; 和 中 文 分 号 ;, 其 他 如 引 号 逗 号 等, 也 要 注 意 英 文 和 中 文 的 区 别 1.3.5 块 大 括 号 {} 通 常 用 来 括 起 一 行 或 多 行 语 句, 括 在 其 中 的 各 语 句 间 通 常 有 较 紧 密 的 联 系 这 种 用 {} 括 起 来 的 多 条 语 句 被 称 为 块 (block) 例 如, 在 函 数 定 义 中, 大 括 号 {} 用 来 标 明 函 数 体 的 开 始 和 结 束 界 限 9 1.3 JavaScript 基 本 语 法

function add(x, y) { var result = x + y; return result; } 在 有 多 条 语 句 的 循 环 体 中, 大 括 号 {} 也 用 来 标 明 循 环 的 开 始 和 结 束 if (x >> 10) { x = 0; y = 10; } 1.3.6 注 释 为 程 序 添 加 注 释 可 以 起 到 以 下 两 种 作 用 可 以 解 释 程 序 某 些 语 句 的 作 用 和 功 能, 使 程 序 更 易 于 理 解 可 以 用 注 释 来 暂 时 屏 蔽 某 些 语 句, 使 浏 览 器 对 其 暂 时 忽 略, 等 到 需 要 时 再 取 消 注 释, 这 些 语 句 就 会 发 挥 作 用 JavaScript 提 供 了 两 种 注 释 符 号 : // 和 /* */ 其 中 // 用 于 单 行 注 释 ; /* */ 用 于 多 行 注 释 多 行 注 释 符 号 分 为 开 始 和 结 束 两 部 分, 即 在 需 要 注 释 的 内 容 前 输 入 /*, 同 时 在 注 释 内 容 结 束 后 输 入 */ 表 示 注 释 结 束 下 面 是 单 行 注 释 和 多 行 注 释 的 示 例 // 这 是 单 行 注 释 的 例 子 /* 这 是 多 行 注 释 的 例 子 这 里 是 多 行 注 释 的 第 二 行 */ /* 这 是 多 行 注 释 在 一 行 中 应 用 的 例 子 */ 注 意 多 行 注 释 /* */ 中 可 以 嵌 套 单 行 注 释 //, 但 不 可 以 嵌 套 多 行 注 释 /* */ 因 为 第 一 个 /* 会 与 其 后 第 一 个 */ 匹 配, 从 而 使 后 面 的 注 释 不 再 起 作 用, 甚 至 引 起 程 序 出 错 除 上 述 两 种 注 释 符 外,JavaScript 还 能 识 别 HTML 注 释 的 开 始 部 分,JavaScript 将 其 作 为 单 行 注 释 看 待, 就 像 使 用 // 一 样 但 JavaScript 不 能 识 别 HTML 注 释 的 结 束 部 分 --> 存 在 这 种 现 象, 有 其 深 层 的 原 因 : 在 JavaScript 中, 如 果 第 一 行 以 开 始, 最 后 一 行 以 结 束, 那 么 其 间 的 程 序 就 包 含 在 一 个 整 个 的 HTML 注 释 中, 会 被 不 支 持 JavaScript 的 浏 览 器 忽 略 掉, 不 会 被 显 示 由 于 第 一 行 以 开 始, 最 后 一 行 以 // 结 束,JavaScript 会 将 两 行 都 忽 略 掉, 而 不 会 忽 略 中 间 的 其 他 行 用 这 种 方 式 可 以 对 那 些 无 法 理 解 JavaScript 的 浏 览 器 隐 藏 其 代 码, 而 对 那 些 可 以 理 解 JavaScript 的 浏 览 器 则 不 隐 藏 注 意 由 于 的 特 殊 作 用, 在 使 用 时 就 应 该 只 将 其 放 在 脚 本 的 第 一 行, 用 在 其 他 位 置 很 可 能 会 带 来 混 乱 1.4 JavaScript 保 留 字 与 其 他 编 程 语 言 一 样,JavaScript 中 也 有 许 多 保 留 字, 不 能 被 用 作 标 识 符 ( 函 数 名 变 量 名 等 ) 表 1-4 列 出 了 这 些 保 留 字 第 1 章 JavaScript 简 介 10

表 1-4 JavaScript 1.5 的 保 留 字 abstract else instanceof switch boolean enum int synchronized break export interface this byte extends long throw case false native throws catch final new transient char finally null true class float package try const for private typeof continue function protected val debugger goto public var default if return void delete implements short volatile do import static while double in super with 表 中 所 列 的 部 分 保 留 字 并 未 出 现 在 JavaScript 中, 但 出 现 在 ECMAScript 规 范 中, 随 着 JavaScript 的 升 级, 会 逐 渐 被 列 为 关 键 字, 所 以 也 应 该 避 免 使 用 除 以 上 保 留 字 外, 还 有 一 些 关 键 字 出 现 在 了 ECMA4.0 Javascript 2.0 中, 为 了 让 自 己 的 程 序 代 码 被 更 多 的 浏 览 器 所 识 别, 建 议 将 表 1-5 中 的 词 语 也 作 为 保 留 字 处 理 表 1-5 JavaScript 潜 在 保 留 字 As event Is uint Assert get Namespace ulong Decimal include Require use Ensure internal Sbyte ushort Exclude invariant Set 还 有 一 类 词 汇, 包 括 JavaScript 内 置 对 象 函 数 数 据 类 型 等 名 称, 如 String parseint document 等, 这 类 词 汇 很 多 ( 可 以 参 考 相 关 资 料 ), 无 法 一 一 列 出 设 法 避 开 这 些 词 汇, 可 有 效 防 止 程 序 出 错 提 示 JavaScript 未 来 的 版 本 一 定 会 增 加 很 多 面 向 对 象 的 技 术, 增 加 很 多 与 HTML XML CSS 等 的 交 互 技 术, 因 此, 为 使 自 己 的 代 码 程 序 能 有 更 久 的 生 命 力, 在 编 写 代 码 时, 应 设 法 避 免 使 用 head frame body 等 词 汇 1.5 错 误 与 调 试 程 序 出 错 是 在 所 难 免 的,JavaScript 程 序 错 误 一 般 有 语 法 错 误 和 逻 辑 错 误 两 种 1.5.1 语 法 错 误 语 法 错 误 是 使 用 JavaScript 语 句 规 则 不 当 造 成 的 例 如, 错 误 地 使 用 了 关 键 字, 错 误 地 11 1.5 错 误 与 调 试

定 义 了 变 量 名 称 等 此 时, 浏 览 器 运 行 JavaScript 代 码 就 会 报 错 使 用 调 试 软 件 可 以 显 示 错 误 发 生 的 位 置 常 用 的 调 试 软 件, 如 果 使 用 Microsoft 公 司 的 Internet Explorer 浏 览 器, 可 以 安 装 Microsoft Script Debugger 软 件 进 行 调 试, 如 果 使 用 NetScape Navigator 浏 览 器, 可 打 开 其 JavaScript 控 制 台 工 具 进 行 调 试 程 序 出 错 后, 调 试 工 具 一 般 会 报 告 出 错 文 件 出 错 行 号 出 错 类 型 等 信 息, 可 以 根 据 提 示 进 行 代 码 修 改 1.5.2 逻 辑 错 误 有 些 时 候, 程 序 中 不 存 在 语 法 错 误, 也 没 有 执 行 非 法 操 作 的 语 句, 但 程 序 运 行 结 果 却 不 正 确, 这 种 错 误 称 为 逻 辑 错 误 例 如, 弄 错 了 两 个 变 量 的 位 置, 或 者 使 用 了 错 误 的 运 算 符 等 对 于 逻 辑 错 误 的 调 试, 最 简 单 的 方 法 是 使 用 Alert 语 句 将 运 行 过 程 的 中 间 结 果 显 示 出 来, 就 会 比 较 容 易 判 断 错 误 产 生 的 位 置 第 1 章 JavaScript 简 介 12