Apply your JS skills to key Mozilla projects as an MDN Fellow! http://mzl.la/MDNFellowship

mozilla
您的搜索结果

    关于 JavaScript

    什么是 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 中内部对象有 NumberStringBooleanDateRegExpMath

    如果您需要了解更多 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 参考

    文档标签和贡献者

    标签: 
    此页面的贡献者有: Breezewish, ziyunfei, teoli, ethertank, undercooled, gelin, Meteormatt
    最后编辑者: Breezewish,
    隐藏侧边栏