什么是 JavaScript?
JavaScript® 是网景公司开发的面向对象的脚本语言,用在世界范围内被成千上万的网页和服务器程序中。网景的 JavaScript 是 ECMA-262 Edition 3 (ECMAScript) 标准脚本语言的超集,和发布的标准只有一些小小的不同。
与流行的误解相反,JavaScript 并不是“解释性 Java”。简单来说,JavaScript 是一个动态脚本语言,支持 基于原型的 对象构造。其基本语法被设计地与 Java 和 C++ 接近,来减少学习语言所需要的新概念。语言结构,如条件语句(if)、循环(for,while)、分支(switch)、异常捕获(try...catch)等和这些语言一致或者很接近。
JavaScript 既是一个 面向过程的语言 又是一个 面向对象的语言。在 JavaScript 中,通过在运行时给空对象附加方法和属性来创建对象,与编译语言如 C++ 和 Java 中常见的通过语法来定义类相反。对象构造后,它可以用作是创建相似对象的原型。
JavaScript 的动态特性包括运行时构造对象、可变参数列表、函数变量、动态脚本执行(通过 eval
)、对象内枚举(通过 for ... in
)和源码恢复(JavaScript 程序可以将函数反编译回源代码)。
JavaScript 中内部对象有 Number
、String
、Boolean
、Date
、RegExp
和 Math
。
如果您需要了解更多 JavaScript 编程信息,请参见下方的 JavaScript 资源 链接。
有哪些 JavaScript 的实现?
mozilla.org 上托管了两个 JavaScript 实现。首个 JavaScript 由网景公司的 Brendan Eich 创建,并不断地更新以符合 ECMA-262 Edition 5 及其之后的标准版本。这个引擎,名叫 SpiderMonkey 是由 C 语言开发的。而 Rhino 引擎,主要由 Norris Boyd(同样也是在网景公司)创建,则是一个 Java 语言开发的 JavaScript 实现。与 SpiderMonkey 类似,Rhino 符合 ECMA-262 Edition 3 标准。
有很多优化技术如 TraceMonkey (Firefox 3.5)、JägerMonkey (Firefox 4) 和 IonMonkey 被添加到了 SpiderMonkey JavaScript 引擎。
除了以上实现,还有其他一些流行的 JavaScript 引擎,如:
- Google 的 V8,在 Google Chrome 浏览器和较新的 Opera 浏览器中使用。
- JavaScriptCore (SquirrelFish/Nitro),被用在了一些 WebKit 浏览器如 Apple Safari。
- Carakan,用在旧版本 Opera 中。
- The Chakra 引擎,用在 Internet Explorer 中(尽管它实现的语言被正式地称作为“JScript”来避免商标问题)。
每个 mozilla.org 的 JavaScript 引擎都提供了 API,程序可以调用它实现支持 JavaScript。目前最常见的 JavaScript 宿主环境是网页浏览器。浏览器一般通过 API 创建“宿主对象”,负责将 DOM DOM 反射到 JavaScript 中。
另一个常见的 JavaScript 应用是作为服务端脚本语言。JavaScript 服务器提供宿主对象代表 HTTP 请求和响应,随后可以通过 JavaScript 程序来动态的生成 Web 页面。
JavaScript 资源
- SpiderMonkey
- 嵌入 SpiderMonkey(C 语言实现的 JavaScript)的相关信息。
- Rhino
- Rhino(Java 语言实现的 JavaScript)的相关信息。
- 语言资源
- 已经公布的 JavaScript 标准。
- 重新认识 JavaScript
- JavaScript 指南 和 JavaScript 参考。