"JavaScript 高级程序设计(第3版)英文版,由Nicholas C. Zakas撰写,李松峰和曹力翻译,详细涵盖了JavaScript的各个方面,包括语言核心、DOM、BOM、事件模型,以及面向对象编程、Ajax与Comet服务器通信、HTML5的新特性如表单、媒体、Canvas、WebWorkers、地理定位、跨文档消息传递、客户端存储(包括IndexedDB),同时讨论了离线应用、性能优化和部署策略。本书适合作为有一定编程经验的Web开发者的学习资料,也可用于高校或技术培训课程教材。"
在JavaScript的高级程序设计中,读者将深入学习以下几个关键知识点:
1. **JavaScript语言核心**:这部分内容涵盖了JavaScript的基础语法、变量、数据类型、操作符、控制流程、函数、闭包、作用域以及作用域链等,这些都是理解JavaScript动态特性和内存管理的关键。
2. **DOM(Document Object Model)**:DOM是HTML和XML文档的结构化表示,允许通过JavaScript操作页面元素。书中会讲解如何选择、修改和创建DOM节点,以及如何处理DOM事件。
3. **BOM(Browser Object Model)**:BOM提供了对浏览器窗口、历史记录、书签、屏幕等对象的操作,使JavaScript可以进行浏览器级别的交互。
4. **事件模型**:事件处理是JavaScript中用户交互的基础,书中会介绍事件处理程序、事件冒泡和事件捕获的概念,以及如何使用事件委托。
5. **面向对象编程**:JavaScript虽然基于原型而非类,但同样支持面向对象编程。书中有详细的介绍,包括构造函数、原型链、对象继承、模块模式和闭包在对象设计中的应用。
6. **Ajax与Comet服务器端通信**:这两者都是实现异步数据交换的技术,Ajax用于局部更新页面,而Comet则用于推送数据到客户端。
7. **HTML5新特性**:HTML5引入了新的表单控件、媒体元素(如audio和video)、Canvas(用于2D图形绘制,包括WebGL支持3D图形)和Web Workers(后台线程处理)等,这些新特性极大地扩展了JavaScript的应用范围。
8. **地理定位**:利用JavaScript可以获取用户的地理位置信息,从而实现更个性化的服务。
9. **跨文档传递消息**(Cross-document messaging):允许不同源的脚本之间安全地通信,是现代Web应用中实现跨窗口或iframe通信的关键技术。
10. **客户端存储**:包括localStorage和sessionStorage,以及新的IndexedDB,提供了在浏览器中持久化数据的能力,使得离线应用成为可能。
11. **性能和维护**:书中会探讨如何优化JavaScript代码以提高网页性能,并提供最佳实践来确保代码质量和可维护性。
12. **部署策略**:包括如何处理兼容性问题、代码压缩和合并,以及有效的错误跟踪和调试技巧。
最后,附录部分展望了未来的API和ECMAScript Harmony规范,帮助读者了解JavaScript的未来发展趋势。这本书对于希望深入理解和提升JavaScript技能的开发者来说是一本宝贵的资源。