标题：JavaScript&DHTMLCookbook(影印版)
简介
j  javascriptavascript是一种基于对象(Object)和事件驱动(Event Driven)，并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言（Java小程序）一起实现在一个Web页面中链接多个对象，与Web客户交互的作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷，它是Java与HTML折衷的选择，具有以下几个基本特点：
语言
脚本编写语言javascript是一种脚本语言，它采用小程序段的方式实现编程。像其它脚本语言一样,javascript同样也是一种解释性语言，它提供了一个简易的开发过程。 
它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样，需要先编译，而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起，从而方便用户的使用操作。 
基于对象的语言javascript是一种基于对象的语言，同时也可以看作一种面向对象的。这意味着它能运用自己已经创建的对象。因此，许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。 
性质
简单性javascript的简单性主要体现在：首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计, 从而对于  javascript学习Java是一种非常好的过渡。其次它的变量类型是采用弱类型，并未使用严格的数据类型。 
安全性javascript是一种安全性语言，它不允许访问本地的硬盘，并不能将数据存入到服务器上，不允许对网络文档进行修改和删除，只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。 
动态性javascript是动态的，它可以直接对用户或客户输入做出响应，无须经过Web服务程序。它对用户的反映响应，是采用以事件驱动的方式进行的。所谓事件驱动，就是指在主页(Home Page)中执行了某种操作所产生的动作，就称为“事件”(Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后，可能会引起相应的事件响应。 
跨平台性javascript是依赖于浏览器本身，与操作环境无关，只要能运行浏览器的计算机，并支持javascript的浏览器就可正确执行。从而实现了“编写一次，走遍天下”的梦想。 
实际上javascript最杰出之处在于可以用很小的程序做大量的事。无须有高性能的电脑，软件仅需一个字处理软件及一浏览器，无须WEB服务器通道，通过自己的电脑即可完成所有的事情。
综合所述javascript 是一种新的描述语言，它可以被嵌入到 HTML 的文件之中。 javascript语言可以做到回应使用者的需求事件 (如：form 的输入) ，而不用任何的网路来回传输资料，所以当一位使用者输入一项资料时，它不用经过传给伺服端 (server)处理，再传回来的过程，而直接可以被客户端 (client) 的应用程式所处理。
javascript 和 Java 很类似，但到底并不一样！Java 是一种比 javascript 更复杂许多的程式语言，而 javascript 则是相当容易了解的语言。javascript 创作者可以不那么注重程式技巧，所以许多Java 的特性在 JavaScript 中并不支持。
历史起源
Javascript是一种由Netscape的LiveScript发展而来的脚本语言，主要目的是为了解决服务器终端语言（比如Perl）遗留的速度问题。当时服务端需要对数据进行验证，由于网络速度相当缓慢，只有28.8kbps，验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript，提供了数据验证的基本功能。
在1992年，Nombas开始开发一种嵌入式脚本语言，叫做C-minus-minus(Cmm)。
能够具有交互性，能够包含更多活跃的元素，就有必要在网页中嵌入其它的技术。如：Javascript、VBScript、Document Object Model（文件目标模块）、Layers和Cascading Style Sheets（CSS），这里主要讲Javascript。
那么Javascript是什么呢？Javascript是为适应动态网页制作的需要而诞生的一种新的编程语言，如今越来越广泛地使用于Internet网页制作上。Javascript是由Netscape公司开发的一种脚本语言（scripting language），或者称为描述语言。在HTML基础上，使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系，使网页包含更多活跃的元素和更加精彩的内容。 运行用Javascript编写的程序需要能支持Javascript语言的浏览器。Netscape公司Navigator 3.0以上版本的浏览器都能支持Javascript程序，微软公司Internet Explorer 3.0以上版本的浏览器基本上支持Javascript。
微软公司还有自己开发的Javascript，称为JScript。 Javascript和Jscript基本上是相同的，只是在一些细节上有出入。 Javascript短小精悍， 又是在客户机上执行的，大大提高了网页的浏览速度和交互能力。 同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。
javascript-javascript和Java的区别

虽然javascript与Java有紧密的联系，但却是两个公司开发的不同的两个产品。Java是SUN公司推出的新一代面向对象的程序设计语言，特别适合于Internet应用程序开发；而javascript是Netscape公司的产品，其目的是为了扩展Netscape Navigator功能，而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言，它的前身是Live Script；而Java的前身是Oak语言。下面对两种语言间的异同作如下比较：
基于对象和面向对象
Java是一种真正的面向对象的语言，即使是开发简单的程序，必须设计对象。 
javascript是种脚本语言，它可以用来制作与网络无关的，与用户交互作用的复杂软件。它是一种基于对象（Object Based）和事件驱动（Event Driver）的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用。 
解释和编译
两种语言在其浏览器中所执行的方式不一样。Java的源代码在传递到客户端执行之前，必须经过编译，因而客户端上必须具有相应平台上的仿真器或解释器，它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。
javascript是一种解释性编程语言，其源代码在发往客户端执行之前不需经过编译，而是将文本格式的字符代码发送给客户编由浏览器解释执行。 
强变量和弱变量

javascript程序运行环境
运行环境软件环境：
Windows 95/98或Windows NT。
Netscape Navigator x.0或Internet Explorer x.0。
用于编辑HTML文档的字符编辑器(WS、WPS、Notepad、WordPad等)或HTML文档编辑器。硬件配置首先必须具备运行Windows 95/98或Windows NT的基本硬件配置环境。推荐：
基本内存32M。
CRT至少需要256颜色，分辨率在640X480以上。
CPU至少233以上。
鼠标和其它外部设置（根据需要选用）。
编写第一个javascript程序
下面通过一个例子，编写第一个javascript程序。通过它可说明javascript的脚本是怎样被嵌入到HTML文档中的。
test1.html文档：
在Internet Explore5.0中运行行后的结果见图1－1所示。
  javascript图１－１ 程序运行的结果
说明： test.html是HTML文档，其标识格式为标准的HTML格式；
如同HTML标识语言一样，javascript程序代码是一些可用字处理软件浏览的文本，它在描述页面的HTML相关区域出现。
javascript代码由 说明。在标识 之间就可加入javascript脚本。
alert()是javascript的窗口对象方法，其功能是弹出一个具有OK对话框并显示（）中的字符串。
通过标识说明：若不认识javascript代码的浏览器，则所有在其中的标识均被忽略；若认识，则执行其结果。使用注释这是一个好的编程习惯，它使其他人可以读懂你的语言。
javascript 以标签结束。 
从上面的实例分析中我们可以看出，编写一个javascript程序确实非常容易的
网页示例
简介虽然，在Dreamweaver的Behaviors可以为我们方便地使用Javascript程序而不用编写代码，但我们自己了解了Javascript的编程方法后，将能更加方便灵活地应用，也使Javascript的代码更简练。本段通过对一系列典型程序的剖析，使你快速地掌握Javascript的编程技巧，设计出质量上乘的动态网页打下坚实的基础。在此之前，我们先了解一些Javascript 的基本概念。Javascript在网页的用法Javascript加入网页有两种方法：
1、直接加入HTML文档
这是最常用的方法，大部分含有Javascript的网页都采用这种方法，如：
在这个例子中，我们可看到一个新的标签： ，而 的位置并不是固定的，可以包含在...... 或.....中的任何地方。
2、引用方式 如果已经存在一个Javascript源文件（以js为扩展名），则可以采用这种引用的方式，以提高程序代码的利用率。其基本格式如下：
其中的Url就是程序文件的地址。同样的，这样的语句可以放在HTML文档头部或主体的任何部分。 如果要实现“直接插入方式”中所举例子的效果，可以首先创建一个Javascript源代码文件“Script.js”，其内容如下：
document.writeln("这是Javascript！采用直接插入的方法！");
在网页中可以这样调用程序： 。Javascript基本概念1、运算符
运算符就是完成操和的一系列符号，它有七类：
赋值运算符、算术运算符、比较运算符、逻辑运算符、条件运算、位操作运算符和字符串运算符。
2、表达式
运算符和操作数的组合称为表达式，通常分为四类：赋值表达式、算术表达式、布尔表达式和字符串表达式。
3、语句
Javascript程序是由若干语句组成的，语句是编写程序的指令。Javascript提供了完整的基本编程语句，它们是：
赋值语句、switch选择语句、while循环语句、for循环语句、do while循环语句、break循环中止语句和continue循环中断语句。
4、函数
函数是命名的语句段，这个语句段可以被当作一个整体来引用不着和执行。使用函数要注意以下几点：
1）函数由关键字function定义； 
2）函数必须先定义后使用，否则将出错；
3）函数名是调用函数时引用的名称，它对大小写是敏感的，调用函数时不可写错函数名；
4）参数表示传递给函数使用或操作的值，它可以是常量，也可以是变量；
5）return语句用于返回表达式的值，也可以没有。
5、对象
Javascript的一个重要功能就是基于对象的功能，通过基于对象的程序设计，可以用更直观、模块化和可重复使用的方式进行程序开发。
一组包含数据的属性和对属性中包含数据进行操作的方法，称为对象。比如要设定网页的背景颜色，所针对的对象就是document，所用的属性名是bgcolor，如document.bgcolor="blue"，就是表示使背景的颜色为蓝色。
6、事件
用户与网页交互时产生的操作，称为事件。绝大部分事都由用户的动作所引发，如：用户按鼠标的按钮，就产生onclick事件，若鼠标的指针的链接上移动，就产生onmouseover事件等等。在Javascript中，事件往往与事件处理程序配套使用。
7、变量 
如 var myVariable = "some value";
学习Javascript比较快速有效的方法是先熟悉一些基本概念，然后找几个别人设计好的程序认真仔细地分析一遍，再稍作改动，再看看能否达到预期目的，不断地举一反三，既可以加深对一些参数、设计方法的理解，又可以快速地提高自己的水平。另外，再提醒一下：Javascript对大小写是敏感的，特别是一些对象、方法、属性的大小写一定要一致，要养成一种良好的习惯，否则在调试程序时可要累死你了。
Javascript程序集
从Javascript的历史来看，不同的公司之间出来的Javascript虽然大部分语法和执行方式相同，但是仍然存在着一些差异。前些年，Javascript在不同浏览器间的兼容性一直是Web前端开发工程师常常为之抓破头皮的问题。为了让使用不同浏览器的用户能够看到相同的页面效果，他们不得不在自己机子上装上几个浏览器，一个一个进行调试，大大延长了开发周期。特别是面对一些业务逻辑相对复杂的B/S架构的工程，那简直是一个噩梦。好在技术精湛的牛人们凭借着自己丰富的开发经验，将Javascript在浏览器间产生的差异封装起来解决，只提供给前端开发人员一个接口去调用想执行的方法，这些方法的集合也就是Javascript程序集，大部分的Javascript程序集都带有Ajax特性，因此也常被叫做Ajax框架。Ajax框架的诞生是一次技术的革命，虽然它并没有改变Javascript的核心内容，但是它对Javascript重新组织的方式无疑是一次飞跃，大大缩短了软件的开发周期。
常见的Ajax框架有：基于原型的Prototype、轻量级的jQuery等等。