这种语言最初被称为LiveScript,只是到最后一刻才被改为JavaScript。JavaScript与XMLHttpRequest一样都是用词不当,它们都太容易让人望文生义了。事实上,JavaScript与Java的相似性仅仅停留在表面的层次,JavaScript更接近于Perl、Python、Ruby这些语言,甚至其与Scheme(一种现代的Lisp语言)、Self这类函数式语言(functional language)的相似性都比与Java的相似性要大。因此,单纯模仿Java的面向对象方式来做JavaScript开发通常都不是一个好主意。
在《JavaScript权威指南》中,David Flanagan写道:
除了句法上有不完全的相似之处,以及都能够提供网页中的可执行内容之外,JavaScript和Java是完全不相干的。相似的名称纯粹是一种行销策略罢了。武断地认为JavaScript与Java很像,Java的开发方式完全适合于做JavaScript开发,是面向对象程序员的一种天生的傲慢。在《Ajax实战》的附录B:面向对象程序员的JavaScript指南,作者专门用一个附录的篇幅来纠正Java/C#这类面向对象程序员对于JavaScript的误解。用尼采的话来讲就是:
听着!因为我是如此如此的一个人,请看在老天爷的份上,不要把我和任何其他的人混在一起!
Dojo项目的负责人Alex Russell认为JavaScript是有史以来最成功的脚本语言,这种说法有一定的道理。他还说JavaScript就像是一条变色龙:
- 面向过程语言的开发者(Fortran、C)可以使用面向过程的方式做开发。
- 面向对象语言的开发者(Java/C#)可以使用OO的方式做开发。
- 函数式语言的开发者(Scheme、Self)可以使用FP的方式做开发。
除了运行于浏览器之中的JavaScript以外,JavaScript还可以独立运行,独立运行的JavaScript与Python、Ruby这类脚本语言类似,能够访问宿主机器上的所有资源。Mozilla项目旗下有两个JavaScript引擎,一个使用C语言来实现,叫做 SpiderMonkey。还有一个使用Java语言来实现,叫做
Rhino。这两个JavaScript引擎都可以独立运行。
此外,运行于移动设备地浏览器之中的WMLScript语言可以看作是JavaScript语言的简化版本。
最新正在制定的规范是:ECMAScript 4 和
JavaScript 2。
等到这两个规范推出后,JavaScript将成为一种足以与Perl、Python和Ruby相抗衡的强大的脚本语言。
附:推荐的JavaScript相关书籍。
- 《JavaScript权威指南》,David Flanagan著。
- 《Ajax实战》,Dave Crane、Eric Pascarello、Darren James著。