22 第一章 全理解这里的 Javascript代码,研究这些代码只是使你对 Javascript程序的外观、事 件处理器的作用以及 Javascript代码是如何嵌入到HTML表单中的有个初步的印 象。注意,注释包含在HML标记<!--和-->之间,也有的注释在以符号//开头 的 Javascript代码行中。 例1-3:用 JavaScript程序计算借贷支出 headeritle>JavaScript Loan Calculator< /titles</head> <body bgcolor- wnite'> 以下是·个HTM表单、川可以用它输入数据 Javascr]?t则山以用它把计算的结宋显示给用户 表单元泰嵌套有一个表屮、这样叫以美化它们的外观 表单自身名为“ Oardc",表单中的域名为“ ineresT和“ ycars” 長单后的 vaScript.代码使用∫这些城名。 意、有些表单元泰定义了“ onchange”或“or.clck”事件处理器 它们定义了用丿喻入数据或点击按钮时要执行的 Javascr ipb代码申。 form ndrc-!Dar cala"> <tr><:d aoispar-3x<D>E ter Loan Informatio </b></tdx</tr> <IS d>1)<:d <tdsiroun cf the loan (any currency : </ta> ctaxcinpul trpes'text name"princ: -, size-12 onchange="caculate():'></td> </tr> <t>2),Ld ct.cisAnnta. pe: cen:age rate of interest: </td> /td <td>Repayment pericd in years: </d> <td<input type- years" size="12 enchance_calculate();'></ta> </tr> stroud cols an-3'> input type- '"valuc="Compute onclick=calculate();'> /tdea/tr? <bs?ayment -nformation: </b> </td></tr> <tY> c-dsYour Tcr: ully paynnent will be:<itd ctd<input type-"tex: nane:"payne s1ze='12"<td>
JavaScript概述 d: -Yo It;/pP-e飞r"d rnta ∠e-"1z crEsL DJdyrcli-s w-i e:/L cEdsnout L - name"cotal:terest. 'size-12></td a⊥ 人是使本例运行的 scrip程序 注意该脚本定义的ca:cule!函数、它由忐单的事代处理器调用 该函数用:代的定义的名F引用表单中的域的 crip*angl.age tuncicr. calculate()i 从长单中获得用户输入的数据。假定它们完全有效。 把刘息妖分比转换成进制数 把利率转换成月利率 把作攴付額转换成月文付额。 documen.]anata. interest. valve /100/ 12: va payrents- documen. loardata, years. value *12 而计算月攴付额.使用了很少数学响数。 dix Mati, oow/ inerest, payments)i 輪结果是否是无穷大的数。如釆不是,就显小出结果。 SN-N .:nly! -NunDer. FOSTTIVE-INFINITY)&& monthly : Numi: er NEGATIVE- INFINITY))i documen. loaIldelta payment value= round(monthiy) document, ioandata, total va round(monthly w payments gocmert. lcarrlatd todi::terest. valLe round((monthly paymer t s)- pri.rcipai): ∮則,用户输入的数据是无效的,因此什么都不显 hocLment. loandata paymeni value =""i aoc, ment. lcandata tota. value document. ioanda-a. totalinterest value a 以下是个简单的坛法,它将把数子舍人成两位小数的形式 tunctior: round(x)i
第一章 L-: :a: 1:JnI* 1.9如何使用本书其余的部分 本书的其余章节分为五部分。本辛之后足第I部分、它介绍了 Javascript语吉的核 心。从第二章到第六汽是这·部分的片始。它们介绍的內容虽然有些乏味,但是必 读的,囚为它们提供的是在学以门新的程序设计语言时必须了解的信息、。 第∵章“词法结构”解释了该谞言的基本结构。 第一章“数据类型和值”介绍了 Javascript支持的数据类型 第四章“变最”介绍了变量、变量作用域以及相关的主题 第丘章“表达式和运算符”刘 JavaScript中的表达式进行了说明,并且还介绍 了 javascript攴持的所有运算符。由 f Javascript诘法是模拟Java的,而Java 乂足模拟C和C艹+的.所以熟悉C、C++或Java的程序设计者们可以跳过该 ·第六章“语句”介绍∫每·种 JavaScript语甸的语法和用法。同样的,熟悉C C++或Java的程序设计者可以跳过该章的某屿内容 第一部分接下来的五章就要有趣得多了。虽然它们介绍的仍时是 JavaScript语占的 核心,但却是你不熟悉的那部分内容,即使你已纤对C或Java了如指掌了。如果你 想寘正地理解 Javascript.那么就需耍对这几章仟细研究·番 第七学“函数”介绍了在 Javascript i中是如何定义函数、调川函数以及操作闻 数的 第八ξ“对象”介绍了 Javascrip中最重岁的数据类型—对象。该单计论 了 Javascript中面对象的程序设计技术,并旦说明了如何用 JavaScript定义 你自己的对象类。 第九卓“数组”介绍了 Java Script中数组的创建和使用
Javascript概述 第十章“使用正则衣达式的模式匹配”说明了在 Javascript中如何使用止则丧 达式进行模式配和找替换的操作 第十·章" Javascript的更多主题”介绍了前面没有讨论过的高级主题。第 次通读书的时候,可以略过该、但是如果恕成为·个 Javascript高手、那 么理解它所包含的内容是至关承要的。 木书的第二部分介绍的是客户端 JavaScript,这·部分的各章介绍了客广端 JavaScript的核心—Web浏览器的各个对象,并且还提供了有关这些对象的用法 的示例程序。要想使一个运行在Web浏览器屮的 Javascript程序生动有趣,必定要 依靠专用十客户端的 Javascript特性。 第二部分的内容包括 第十氵“Web浏览器中的 Javascript”介绍∫ Javascript与Web浏览器的集 成。它把web浏览器作为·种程序设讣环境进行了讨论,并且还解释了把 Javascript代码集成到頃中以便仁客广端执行的各种方法 第十章“窗凵和框架”介绍了客户端 JavaScript中最核心,也是最重要的对 象 Window对象:此外它还介绍了几个与 Window对象有关的重要对象 第十四章“ Document对象”介绍了 Document对象以及把HTML文档的内容 展示给 Java Script代码的有关对象 第十五章“表单和表单元素”介绍∫表示HTML表单的Form对象。此外,它 还介绍了出现在HTML表单中的各种表单元素对象,并且展示了一些使用表单 的 JavaScript程序。 第十六章“脚本化 cookie'”说明∫如何用 cookie 4#: Web程序中侏存状态。 第十七“文档对象模型”说明∫W3CDOM标准的核心片段、并乩展小了 Javascript脚本如何访问HTML文档中的任意个兀素。 第十八章“级联样式表和动态HTML”介绍了使 Javascript程序能够操作HTML 文档中的样式表、元秦的外观和位置的那部分W3CDOM标准。该章向你展 示了如何用CSS届性创造大量的 DHTML效果 第十九意“件和事件处理”介绍了 Javascript的事件和事件处理器,它们对
26 第一章 F要和用广进行交的 Javascript程序来说是非常重要的。该章涵盖了传统的 件模型、W3CDOM标准的事件模型和 Internet Explorer专有的事件模型。 第二十章“兼容性”探索了 Javascript程序设计技术中有关兼容性的垂要问题 并且讨论了编写能够在大多数web浏览器上正确运行的 Javascript代码的方 第二十一章“ JavaScript的安全性”列举了建立在客户端 JavaScript的安全限 制、并且解释了它们的基本原理 第二十二章“在 javascript屮使川Java”说明了如何用 Javascript与Java小程 序进行通信,并且对它们进行掉制。此外它还介绍了如何进行反向的操作,即 在Java小程序中调用 JavaScript代码。 第三、四、丘部分是参考手册,分別说明了』 javascript语言核心定义的对象、传統 的客户端 JavaScript定义的对象和新的W3CDOM标准定义的对象。 1.10 JavaScript探秘 要真止学会种新的程序设计语言,就要用它来编写程序。在阅读本书时、我建议 你一边学习 Javascript的特性,边对它们做一些尝试。有许多方法可以使 Javascript变的简单易行。 研究 JavaScript最简单的方法就是编写简单的脚本。客户端 JavaScript的好处之 是要编写 JavaScrip脚本不必购买或下载专用的软件,一个Web浏览器和个简单 的文本编辑器就构成了一个完整的开发环境。我们在本章开始的时候看到过一个计 算阶乘的例子。假定你想对它做如下的修改以显示一个斐波纳契数 document write(<h2>Table of vinonacc1 Numbers</h2>'); for(1=0,4-1, k=0, f1b_0: i<50: i++, tih-i-k, j-k, k-fib documen:.w1-e("F⊥b rib) document wrie("sb:>I script:> 也许这段代码有些令人费解(如果你仍然不能理解,不必担心),不过其中关键的 点是,当你想试验像它·样短小的程序时、所要做的只是把代码输进去.然后在浏