本节书摘来自异步社区《javascript忍者秘籍》一书中的第1章,第1.1节,作者:【美】john resig(莱西格) , bear bibeault(贝比奥特) 译者: 徐涛 更多章节内容可以访问云栖社区“异步社区”公众号查看。
本书的这部分内容将奠定javascript忍者训练的基础。
在第1章中,大家将了解阅读本书后我们要做到什么,以及javascript开发人员要操作的框架环境。
第2章讲述测试为什么如此重要,并提供对一些可用测试工具的简单调查。然后我们会开发一些令人叫绝的简单测试工具,从而在余下的阅读培训中进行使用。
阅读完这部分内容后,你将可以开始准备训练成为一名javascript忍者了!
本章涵盖以下内容:
介绍本书的目的和结构
将要关注的库
什么才是javascript高级编程
跨浏览器编程
测试套件示例
如果你正在阅读本书,应该知道,没有什么简单方法可以创建有效且跨浏览器的javascript 代码,除了编写整洁代码的常规挑战外,我们还要额外应对各种浏览器的差异和复杂性。为了应对这些挑战,javascript开发人员通常使用javascript库来实现通用和可重用的功能。
这些库虽然在方法、内容和复杂性方面有很大差异,但唯一不变的是:它们都需要简单易用,产生最少的开销,并能兼容所有浏览器,这些都是我们所希望的。
显而易见,通过了解如何构建最优秀的javascript库,可以为我们提供很好的洞察力,从而编写自己的代码来实现这些目标。本书力图揭示这些世界级代码所使用的技术和秘密,并将之聚集成一个单一的资源。
通过本书,我们将研究创建这些流行javascript库所使用(或即将使用)的技术。让我们开始了解这些库!
创建现代javascript库所用到的技术和实践是我们在本书中所关注的焦点。我们要选择一个最重要的库,当然就是jquery,其已经跃升为目前最普遍使用的javascript库了。
jquery由john resig创建,并在2006年1月发布。jquery将用于匹配dom内容的css选择器进行了普及。在众多功能中,它还提供了dom操作、ajax、事件处理以及动画功能。
jquery已经主导了javascript库的市场,它被用于成千上万的网站,数以百万计的用户与之交互。通过大量的使用和反馈,该库一直在精练——继续优化——成为目前我们正在使用的最优代码。
除了研究jquery示例代码以外,我们也会了解以下库所利用的技术。
prototype——现代javascript库之父,sam stephenson于2005年创建并发布。除了面向对象编程、面向切面编程以及函数式编程技术以外,该库还包含了dom、ajax和事件功能。
yahoo!ui——雅虎内部javascript框架发展的结果,在2006年2月向公众发布。除了一些预先定义的部件(日历、网格、手风琴等)以外,yahoo !ui(yui)还包括dom、ajax、事件以及动画功能。
base2——由dean edwards创建,于2007年3月发布。该库支持dom和事件功能。它的闻名之处在于它尝试以通用且跨浏览器的方式实现各种w3c规范。
这些库都经过了全面的构建并且解决了目标问题。基于这些原因,这些库对于我们进一步分析并理解代码库的基础建设,从而洞察世界级javascript库建设的过程打下了良好的基础。
但是这些技术,并不只用于构建大型库;它们也可以应用于所有的javascript代码,且无论代码大小。
一个javascript库的组成可以分为如下三个方面。
javascript语言的高级使用。
跨浏览器代码的精心构建。
当前能够聚众合一的最佳实践应用。
针对每个库,我们会仔细分析这三个方面,从而收集整理完整的知识体系,以便创建自己的高效javascript代码。