布道师

随着浏览器中 JavaScript 的使用量增加,JavaScript 教育者和布道师应运而生。这其中最具影响力的人物之一,就是 Douglas Crockford。从一篇简短的线上文章《JavaScript:世界上最容易被误解的编程语言》[Crockford 2001a] 开始,他就承担起了改变软件开发社区对 JavaScript 态度的任务。Crockford 在他的另一篇文章中解释说:

当 JavaScript 刚出现时,我认为它不值得关注。很久之后我重新审视了它,发现隐藏在浏览器中的是一门出色的编程语言。我最早的态度来源于 Sun 和 Netscape 对 JavaScript 的最初定位。为了避免将 JavaScript 定位为 Java 的竞争对手,他们对 JavaScript 做了许多错误的陈述。这些虚假宣传一直在针对(友善度)和业余爱好者市场的大量不良 JavaScript 书籍中流传。

Douglas Crockford [2001d; 2002a; 2003; 2006] 揭示了 JavaScript 类似于 Scheme 的闭包和类似于 Self 的对象机制,并说明了该如何使用它们。但他并没有掩盖 JavaScript 的缺陷和怪癖。除了识别出这些特性之外,Crockford [2001e; 2002d] 还创建并推广了 JSLINT [Crockford 2001b],这是第一个广泛使用的 JavaScript linter42 程序。另外,Crockford [2001c; 2019b] 还为 JavaScript 开发者引入了压缩43(minimization)的概念,并创建了 JSMIN 工具。他写了一本畅销书 [Crockford 2008b],告诉程序员该如何使用 JavaScript 的优点并规避缺点。最后,他成为了 JavaScript 标准化工作的参与者。

Crockford 倡导简单性,他意识到可以通过使用 JavaScript 对象和数组字面量语法子集的形式,实现独立于语言的数据交换格式,从而避免 XML 的复杂性。他将这种被广泛使用的格式命名为「JavaScript Object Notation」或「JSON」[Crockford 2002b, c; Crockford 2019a]。这种简单的格式可以很容易地在任何语言中解析,但在 JavaScript 中尤其容易处理,因为有 eval 函数可以将 JSON 数据转换为 JavaScript 对象44