前言
JavaScript是一种解释型的脚本语言,被大量地应用于网页中,用以实现和浏览用户的动态交互。目前,几乎所有的浏览器都可以很好地支持JavaScript。由于其可以及时地响应浏览者的操作,控制页面的行为表现,提升用户体验,因此JavaScript已经成为网页必不可少的组成部分。
然而JavaScript易学难精。作为一种弱类型的脚本语言,其语法非常贴近于自然语言,容错性能也很强。用户即使对其一知半解,往往也可以通过向页面中插入某些代码来实现简单的特性,因此JavaScript非常容易上手。但是由于其应用领域的特点,牵涉的知识面非常广,如果需要按要求编写特定的脚本,就必须对此语言有着较深的了解。
本书经过精心编写,目的在于给各种程度的JavaScript使用者提供一个提高的途径。笔者结合自己多年的JavaScript开发经验,为JavaScript程序员提供了从具体的JavaScript效果实例到JavaScript设计理念等不同层次的JavaScript知识。本书涉及的知识面广泛,是JavaScript程序员提高自己的程序设计水平、完善自己的知识结构、扩展自己的知识面的最佳参考。
本书的特点
本书深入浅出地讲解了JavaScript各个方面的知识以及目前流行的JavaScript应用技术,如XML、VML和Ajax。每章均围绕具体的实例来进行讲解,避免了常见的程序设计类书籍的枯燥之感,同时也给初学者一些借鉴,说明了不同知识点可能的应用。
JavaScript作为一种脚本语言,由于其应用领域的特点,导致其涵盖的知识面非常广且“零碎”。笔者结合自己长期的JavaScript开发经验,按应用的层次由浅入深安排,每章以一个JavaScript应用作为设计目标,将各个方面的知识融于其中,使读者在学习脚本的各种应用过程中得到提高,既学习了JavaScript知识,也积累了应用的经验。
本书的特点主要体现在以下几个方面。
❑ 本书的编排采用循序渐进的方式,适合初中级学者逐步掌握JavaScript语言的基础知识。各篇之间层次分明,适合不同程度的读者学习。
❑ 各个知识点均有具体的例子作为诠释,代码中有着大量的注释,便于初学者阅读;同时,代码的执行效果有着详细的效果图,可以给读者以直观的印象。常见的程序设计类书籍常常由于其抽象的描述,使得读者虽然掌握了语法等知识点,但是却无法应用自如。通过阅读本书示例,读者可以积累程序设计的经验,从而达到事半功倍的学习效果。
❑ 本书的内容非常详尽。这是本书和其他同类书籍最大的不同。由于JavaScript是一种基于对象的语言,很多时候的操作是通过某些对象进行的,这些部分的内容属于“知之为知之”。本书以微软公司的MSDN为依据,罗列出各个对象所有的属性、方法和事件等,并针对常用的内容加以详尽的解释,可以极大地提高读者对这些对象的掌握程度。同时,本书也适合熟练的JavaScript程序员作为语言参考手册使用。
❑ 很多同类的JavaScript书籍仅仅停留在普通的特效应用上,这在Ajax等深层、大型应用逐渐流行的今天渐渐无法满足所需。本书深入JavaScript的机制,讲解了JavaScript作为面向对象语言的类和继承的应用,以及内容、样式与行为分离的脚本编写思想,利于大型脚本项目的开发。这在同类书籍中是非常罕见的。
本书的内容安排
本书分为四篇,共20章,从JavaScript的输入/输出等入门知识讲起,再进一步以实例介绍JavaScript的条件判断和循环等语法知识与系统的内置对象,然后讲述了JavaScript在动态页面中各个方面的应用,以及脚本对DOM、CSS、ActiveX控件等的控制,最后针对目前逐渐流行的XML等技术进行了讲解。
第一篇(第1~6章):JavaScript入门。
本篇定位于完全没有程序设计基础的新手,以最基础的网页输入/输出等应用为入口,在实例中讲解JavaScript的基础语法,涵盖了变量、表达式、操作符、函数等程序设计概念;条件判断、分支和循环等程序循环控制;内置时间日期对象、字符串对象、数组对象和数学对象等基础对象的使用;页面输入/输出、事件绑定等交互操作。通过本篇的学习,读者能够读懂大多数JavaScript脚本,并进行简单的脚本功能编写。
第二篇(第7~14章):JavaScript和页面的交互。
本篇定位于对JavaScript语法有所掌握的初级程序员。按需要操作的页面对象的类型,依次讲述了JavaScript对Cookie、窗口和框架、表单、CSS、DOM和CSS滤镜的操作,同时详细讲解了正则等复杂工具的使用以及排序算法。此篇由浅入深,使读者对页面元素的控制逐渐深入,最后获得对页面内容和样式的完全控制,达到“随心所欲”的目的。通过本篇的学习,读者能够实现绝大多数的页面动态效果。
第三篇(第15~18章):JavaScript高级操作。
定位于对JavaScript的扩展。通过操作ActiveX控件,可以实现很多纯脚本无法达到的功能。本篇依次讲述了JavaScript对视频控件、XML、文件和数据库的操作。通过本篇的学习,读者的JavaScript能力不再局限于页面特效,而将进一步获得对系统较底层的控制。本篇最后还讲述了对象化的程序设计,以及如何实现JavaScript中的类和继承。
第四篇(第19~20章):实例和框架。
本篇的实例用来总结前面所学的知识,读者所做的实例越多,经验就会越丰富。计算机技术,特别是编程语言,是一种不断进步的技术。本篇讲述了目前最为流行的Ajax技术以及JSON等数据传输格式。此外介绍了常见的JQuery框架,读者可以通过本篇的学习,应用前面所学的基础知识。
本书由浅入深,始终围绕着具体的例子进行讲解,全书共120多段实例,辅以详尽的注释,适合各种层次的读者逐步学习和完善自己的知识结构,同时在学习的过程中累积实际经验。
适合阅读本书的读者
❑ 希望学习JavaScript的新手
❑ 迫切希望提高个人JavaScript编程能力的初级程序员
❑ 具备一定的理论知识但是缺乏实践经验的程序员
❑ 希望了解大型项目结构化程序设计和对象封装技术的JavaScript程序员
❑ 希望了解最新Ajax技术的程序员
❑ 需要进行客户端控件开发的程序员
❑ 需要一本快速查阅手册的高级程序员
本书作者
本书主要由高宏编写,其他参与编写和资料整理的人员有高会东、王建超、邓薇、黄丽莉、吝晓宁、汪洋、白广元、蔡念光、陈辉、冯彬、刘长江、刘明、沙金、张士强、张洪福、多召英、贾旭、李宽、江宽、陈科、方成林、班晓娟、方中纯、刘兰军、郑雪峰。
编者
2010年12月