JavaScript毫无疑问是Ajax工具箱中的核心技术。Ajax应用程序完全下载到客户端的内存中,由数据、表现和程序逻辑三者组成,JavaScript就是用来实现逻辑的工具。JavaScript是一种混合了多种编程思想的通用编程语言,提供了一个表面上与C系列语言相似的语法接口。
JavaScript可以简短地描述为一种弱类型的、解释型的和通用的脚本语言。弱类型(loosely typed)意味着变量不需要明确声明为字符串、整数或者对象,同一个变量可以使用不同的类型来赋值。例如,下面的代码是合法的:
var x=3.1415926;
x='pi';
变量x最初定义为一个数字类型的值,后来又赋给一个字符串类型的值。
解释型(interpreted)意味着不需要编译,源代码本身就可以直接执行。将源代码放在Web服务器上,通过因特网传输到用户的浏览器中,JavaScript应用的部署就完成了。此外,在JavaScript中,甚至还可以在运行时对一小段代码进行求值。
var x=eval('7*5');
在这里,我们将表达式定义为一段文本,而不是两个数字加一个算术操作符。使用这段文本来调用eval(),将会解释文本中包含的JavaScript,并且返回表达式的值。在大多数场合,这样做执行效率不高;但是在某些场合,这样做是很有用的,因为它可以带来很大的灵活性。
通用(general purpose)意味着这种语言适用于大部分的算法和编程任务。JavaScript语言核心支持数字、字符串、日期和时间、数组、用于处理文本的正则表达式,以及数学函数(例如三角运算、随机数生成等)。JavaScript还支持定义结构化的对象,因此可以使用面向对象的设计原则来建造更加复杂的代码。
在浏览器环境中,通过JavaScript引擎可以访问浏览器的一些本地功能,例如CSS、DOM、XMLHttpRequest对象,这允许页面开发者通过编程方式在不同程度上控制页面的表现。尽管在浏览器中遇到的JavaScript环境和特定于浏览器的对象紧紧绑在一起,但是从底层来看,语言本身的语法却是一致的。
本书并不是一本详细介绍JavaScript基础知识的教程。在附录B中,我们近距离考察了JavaScript语言,讨论了JavaScript与C系列语言(包括名字上很相似的Java语言)的根本区别。JavaScript的例子散布在本书的各个部分,已经有几本其他书籍专门介绍这门语言的基础知识(参见本章“资源”一节)。
在整个Ajax技术体系中,JavaScript就像胶水一样将所有的部分黏合在一起,对JavaScript有基本的了解是编写Ajax应用的前提。只有熟练掌握和深刻理解了JavaScript,你才能够释放出Ajax的全部潜力。
接下来的话题将会转向CSS,它是Web页面中元素视觉样式的主宰。







