diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/zh-cn/web/javascript/about_javascript | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/zh-cn/web/javascript/about_javascript')
-rw-r--r-- | files/zh-cn/web/javascript/about_javascript/index.html | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/files/zh-cn/web/javascript/about_javascript/index.html b/files/zh-cn/web/javascript/about_javascript/index.html new file mode 100644 index 0000000000..94b366cd08 --- /dev/null +++ b/files/zh-cn/web/javascript/about_javascript/index.html @@ -0,0 +1,59 @@ +--- +title: 关于 JavaScript +slug: Web/JavaScript/About_JavaScript +tags: + - JavaScript + - 入门介绍 +translation_of: Web/JavaScript/About_JavaScript +--- +<div>{{JsSidebar()}}</div> + +<h2 id="What_is_JavaScript.3F" name="What_is_JavaScript.3F">什么是 JavaScript?</h2> + +<p><span class="external">JavaScript</span><sup>®</sup> (通常简写为JS)是一种轻量的、解释性的、面向对象的<a href="https://zh.wikipedia.org/wiki/%E5%A4%B4%E7%AD%89%E5%87%BD%E6%95%B0">头等函数</a>语言,其最广为人知的应用是作为网页的脚本语言,但同时它也在很多<a href="https://en.wikipedia.org/wiki/JavaScript#Uses_outside_web_pages">非浏览器环境下使用</a>。JS是一种动态的<a href="https://zh.wikipedia.org/wiki/%E5%8E%9F%E5%9E%8B%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88">基于原型</a>和多<a href="https://zh.wikipedia.org/wiki/%E7%BC%96%E7%A8%8B%E8%8C%83%E5%9E%8B">范式</a>的脚本语言,支持面向对象、命令式和函数式的编程风格。</p> + +<p>JavaScript运行在网页的客户端,能被用来设计和编程网页在事件发生时的行为。JavaScript不仅易学而且强大,因此广泛用于对网页的控制。</p> + +<p>与流行的误解相反,JavaScript 并不是“解释性 Java”。简单来说,JavaScript 是一个动态脚本语言,支持 <a href="/zh-CN/docs/Web/JavaScript/Guide/Details_of_the_Object_Model#Class-Based_vs._Prototype-Based_Languages" title="zh-CN/docs/JavaScript/Guide/Details_of_the_Object_Model#Class-Based_vs._Prototype-Based_Languages">基于原型的</a> 对象构造。其基本语法被设计地与 Java 和 C++ 接近,来减少学习语言所需要的新概念。语言结构,如条件语句(if)、循环(for,while)、分支(switch)、异常捕获(try...catch)等和这些语言一致或者很接近。</p> + +<p>JavaScript 既是一个 <a class="external" href="http://en.wikipedia.org/wiki/Procedural_programming" title="http://en.wikipedia.org/wiki/Procedural_programming">面向过程的语言</a> 又是一个 <a class="external" href="/zh-CN/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript" title="zh-CN/docs/Introduction_to_Object-Oriented_JavaScript">面向对象的语言</a>。在 JavaScript 中,通过<strong>在运行时</strong>给空对象附加方法和属性来创建对象,与编译语言如 C++ 和 Java 中常见的通过语法来定义类相反。对象构造后,它可以用作是创建相似对象的原型。</p> + +<p>JavaScript 的动态特性包括运行时构造对象、可变参数列表、函数变量、动态脚本执行(通过 <code><a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/eval" title="zh-CN/docs/JavaScript/Reference/Global_Functions/eval">eval</a></code>)、对象内枚举(通过 <code>for ... in</code>)和源码恢复(JavaScript 程序可以将函数反编译回源代码)。</p> + +<p>如果您需要了解更多 JavaScript 编程信息,请参见下方的 <a href="#JavaScript_resources">JavaScript 资源</a> 链接。</p> + +<h2 id="What_JavaScript_implementations_are_available.3F" name="What_JavaScript_implementations_are_available.3F">有哪些 JavaScript 的实现?</h2> + +<p>mozilla.org 上托管了两个 JavaScript 实现。<strong>首个</strong> JavaScript 由网景公司的 Brendan Eich 创建,并不断地更新以符合 ECMA-262 Edition 5 及其之后的标准版本。这个引擎,代号 <a href="/zh-CN/docs/Mozilla/Projects/SpiderMonkey" title="zh-CN/docs/SpiderMonkey">SpiderMonkey</a> ,是由 C/C++ 语言开发的。而 <a href="/zh-CN/docs/Rhino" title="zh-CN/docs/Rhino">Rhino</a> 引擎,主要由 Norris Boyd(同样也是在网景公司)创建,则是一个 Java 语言开发的 JavaScript 实现。与 SpiderMonkey 类似,Rhino 符合 ECMA-262 Edition 5 标准。</p> + +<p>有很多优化技术如 TraceMonkey (Firefox 3.5)、JägerMonkey (Firefox 4) 和 IonMonkey 被不断添加到了 SpiderMonkey JavaScript 引擎。并且提升JavaScript执行效率的工作一直在进行。</p> + +<p>除了以上实现,还有其他一些流行的 JavaScript 引擎,如:</p> + +<ul> + <li>Google 的 <a class="external" href="http://code.google.com/p/v8/" title="http://code.google.com/p/v8/">V8</a>,在 Google Chrome 浏览器和较新的 Opera 浏览器中使用。这同时也是<a href="https://nodejs.org/en/">Node.js</a>使用的引擎。</li> + <li><a class="external" href="http://www.webkit.org/projects/javascript/index.html" title="http://www.webkit.org/projects/javascript/index.html">JavaScriptCore</a> (SquirrelFish/Nitro),被用在了一些 WebKit 浏览器如 Apple Safari。</li> + <li><a class="external" href="http://my.opera.com/ODIN/blog/carakan-faq" title="http://my.opera.com/ODIN/blog/carakan-faq">Carakan</a>,用在旧版本 Opera 中。</li> + <li>The <a class="external" href="http://en.wikipedia.org/wiki/Chakra_%28JScript_engine%29" title="http://en.wikipedia.org/wiki/Chakra_%28JScript_engine%29">Chakra</a> 引擎,用在 Internet Explorer 中(尽管它实现的语言被正式地称作为“JScript”来避免商标问题)。</li> +</ul> + +<p>每个 mozilla.org 的 JavaScript 引擎都提供了 公用API使程序开发者能将其JavaScript嵌入自己的软件中。目前最常见的 JavaScript 宿主环境是网页浏览器。浏览器一般通过 API 创建“宿主对象”来负责将<a class="external" href="http://www.w3.org/DOM/">DOM</a> 反射到 JavaScript 中。</p> + +<p>另一个常见的 JavaScript 应用是作为服务端脚本语言。JavaScript 服务器提供宿主对象代表 HTTP 请求和响应,随后可以通过 JavaScript 程序来动态的生成 Web 页面。<a href="https://nodejs.org/en/">Node.js</a>便是一个流行的例子。</p> + +<h2 id="JavaScript_resources" name="JavaScript_resources">JavaScript 资源</h2> + +<dl> + <dt><a href="/zh-CN/docs/Mozilla/Projects/SpiderMonkey" title="zh-CN/docs/SpiderMonkey">SpiderMonkey</a></dt> + <dd>Mozilla使用C/C++引擎实现JavaScript(又称为SpiderMonkey),以及如何在应用中嵌入使用的相关信息。</dd> +</dl> + +<dl> + <dt><a href="/zh-CN/docs/Rhino" title="zh-CN/docs/Rhino">Rhino</a></dt> + <dd>Rhino(Java 语言实现的 JavaScript)的相关信息。</dd> + <dt><a href="/zh-CN/docs/Web/JavaScript/Language_Resources" title="zh-CN/docs/JavaScript_Language_Resources">语言资源</a></dt> + <dd>已经公布的 JavaScript 标准。</dd> + <dt><a href="/zh-CN/docs/Web/JavaScript/A_re-introduction_to_JavaScript" title="zh-CN/docs/A_re-introduction_to_JavaScript">重新认识 JavaScript</a></dt> + <dd><a href="/zh-CN/docs/Web/JavaScript/Guide" title="zh-CN/docs/JavaScript/Guide">JavaScript 指南</a> 和 <a href="/zh-CN/docs/Web/JavaScript/Reference" title="zh-CN/docs/JavaScript/Reference">JavaScript 参考</a>。</dd> + <dt>JavaScript®是Oracle于美国和其他国家注册和拥有的商标。</dt> +</dl> |