Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 1125673 of JavaScript

  • 版本网址缩略名: Web/JavaScript
  • 版本标题: JavaScript
  • 版本 id: 1125673
  • 创建于:
  • 创建者: Rusion-Wayne
  • 是否是当前版本?
  • 评论

修订内容

{{JsSidebar()}}

JavaScript ( JS ) 是一种轻量级,解释型,({{Glossary("First-class Function", "以函数为一等公民")}}) 的编程语言。众所周知,它是用于网页开发的脚本语言,同时也用于许多非网页环境中,例如 node.js 和 Apache CouchDB。JS是一种{{Glossary("Prototype-based programming", "基于原型的")}}、多范式、动态脚本语言,并且支持面向对象、命令式和声明式(如:函数式编程)编程风格。了解更多 关于JavaScript

本部分将专注于 JavaScript 语言本身,而非局限于网页或其他宿主环境。想要了解网页有关的 {{Glossary("API","APIs")}} ,请参考 Web APIs 以及 DOM

ECMAScript 是 JavaScript 的标准。截至 2012 年,所有的现代浏览器都完整了支持  ECMAScript 5.1,旧式的浏览器至少支持 ECMAScript 3 标准。在2015年6月17日,ECMA国际组织发布了 ECMAScript 的第六版,该版本正式名称为ECMAScript 2015,但通常被称为 ECMAScript 6 或者ES6。自此,ECMAScript每年发布一次新标准。本文档目前覆盖了最新ECMAScript的草案,也就是ECMAScript2017

不要将 JavaScript 与 Java 编程语言混淆。虽然“Java”和“JavaScript”都是 Oracle 公司在美国和其他国家注册(或未注册)的商标,但是这两门语言在语法、语义与用途方面有很大不同。

教程

在教程的指导下学习如何使用 JavaScript 编程。

介绍

JavaScript 指南
如果您对 JavaScript 很陌生,本指南将带您了解下这门语言。
JavaScript 技术概览
介绍 JavaScript 在浏览器中的运用。
JavaScript 面向对象
介绍 JavaScript 语言当中的面向对象概念。

中级内容

对 JavaScript 刮目相看
为那些自认为懂得 JavaScript 的朋友们重新介绍一遍 JavaScript。
JavaScript 数据结构
JavaScript 数据结构的概览
如何使用比较操作符
JavaScript 提供了三种比较操作符,包括严格比较操作符 === 和非严格的比较操作符 ==,以及 {{jsxref("Global_Objects/Object/is", "Object.is()")}} 方法。

高级内容

继承和原型的链式结构
给受到普遍误解和低估的基于原型的继承做一个详细解释。
严格模式
严格模式规定不能使用未定义的变量,它是 JavaScript 的有限子集,以求得更高效的性能和更便利的调试。
JavaScript 类型数组
为使 JavaScript 处理原始二进制数据而提供的类型数组。
内存管理
JavaScript 中的内存生命周期和垃圾回收机制。
并发模型以及事件循环
JavaScript 现加入了基于“事件循环”的并发模型。

参考

浏览完整的 Javascript 参考文档。

标准对象
熟悉下标准的内置对象例如 {{jsxref("Array")}}, {{jsxref("Boolean")}}, {{jsxref("Date")}}, {{jsxref("Error")}}, {{jsxref("Function")}}, {{jsxref("JSON")}}, {{jsxref("Math")}}, {{jsxref("Number")}}, {{jsxref("Object")}}, {{jsxref("RegExp")}}, {{jsxref("String")}}, {{jsxref("Map")}}, {{jsxref("Set")}}, {{jsxref("WeakMap")}} , {{jsxref("WeakSet")}} 以及其他对象
表达式和运算符
了解下列运算符的作用:{{jsxref("Operators/instanceof", "instanceof")}}, {{jsxref("Operators/typeof", "typeof")}}, {{jsxref("Operators/new", "new")}}, {{jsxref("Operators/this", "this")}},运算符优先级,以及其他运算符。
语句和声明
了解 {{jsxref("Statements/do...while", "do-while")}}, {{jsxref("Statements/for...in", "for-in")}}, {{jsxref("Statements/for...of", "for-of")}}, {{jsxref("Statements/try...catch", "try-catch")}}, {{jsxref("Statements/let", "let")}}, {{jsxref("Statements/var", "var")}}, {{jsxref("Statements/const", "const")}}, {{jsxref("Statements/if...else", "if-else")}}, {{jsxref("Statements/switch", "switch")}} 以及其他语句和关键字的作用。
函数
学习如何使用 JavaScript 函数来开发你的应用。

工具和资源

有助于您编写和调试 JavaScript 代码的有用工具。

Firefox 开发工具
包括 Scratchpad, Web Console, JavaScript Profiler, Debugger 等等
Firebug
在任何页面中实时编写、调试和模拟 CSS、HTML 及 JavaScript。
JavaScript Shells
允许您快速测试 JavaScript 代码片段的运行环境。
TogetherJS

让协作更简单。

Stack Overflow
StackOverflow 上的 JavaScript 问答。
JavaScript版本和发行记录
浏览 JavaScript的历史版本特性和实现情况.
JSFiddle
编辑 JavaScript, CSS, HTML 并获得实时结果。使用外置资源,并和你的团队在线合作。

{{CommunityBox("JavaScript", "js-engine.internals", "mozilla.dev.tech.js-engine.internals", "js", "ES讨论|https://esdiscuss.org/|esdiscuss.org|ECMAScript标准探讨邮件列表||SpiderMonkey|https://wiki.mozilla.org/JavaScript|项目主页|助力JavaScript引擎||Twitter|https://twitter.com/SpiderMonkeyJS|@SpiderMonkeyJS|SpiderMonkey updates on Twitter")}}

修订版来源

<div>{{JsSidebar()}}</div>

<div class="summary">
<p><strong>JavaScript&nbsp;(&nbsp;</strong><strong>JS&nbsp;</strong>) 是一种轻量级,解释型,({{Glossary("First-class Function", "以函数为一等公民")}}) 的编程语言。众所周知,它是用于网页开发的脚本语言,同时也用于许多<a class="external" href="https://en.wikipedia.org/wiki/JavaScript#Uses_outside_web_pages">非网页环境</a>中,例如 <a class="external" href="https://nodejs.org/">node.js</a>&nbsp;和&nbsp;<a class="external" href="https://couchdb.apache.org">Apache CouchDB</a>。JS是一种{{Glossary("Prototype-based programming", "基于原型的")}}、多范式、动态脚本语言,并且支持面向对象、命令式和声明式(如:函数式编程)编程风格。了解更多<a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/About_JavaScript">&nbsp;关于JavaScript</a>。</p>
</div>

<p>本部分将专注于 JavaScript 语言本身,而非局限于网页或其他宿主环境。想要了解网页有关的 {{Glossary("API","APIs")}}&nbsp;,请参考 <a href="/zh-CN/docs/Web/API">Web APIs</a>&nbsp;以及 <a href="/zh-CN/docs/Glossary/DOM">DOM</a>。</p>

<p><a href="/zh-CN/docs/Web/JavaScript/Language_Resources">ECMAScript</a>&nbsp;是&nbsp;JavaScript 的标准。截至 2012 年,所有的<a href="https://kangax.github.io/compat-table/es5/">现代浏览器</a>都完整了支持&nbsp; ECMAScript 5.1,旧式的浏览器至少支持 ECMAScript 3 标准。在2015年6月17日,<a href="https://www.ecma-international.org">ECMA国际组织</a>发布了 ECMAScript 的第六版,该版本正式名称为ECMAScript 2015,但通常被称为 ECMAScript 6 或者ES6。自此,ECMAScript每年发布一次新标准。本文档目前覆盖了最新ECMAScript的草案,也就是<a href="https://tc39.github.io/ecma262/">ECMAScript2017</a>。</p>

<p>不要将 JavaScript 与&nbsp;<a href="https://en.wikipedia.org/wiki/Java_(programming_language)">Java 编程语言</a>混淆。虽然“Java”和“JavaScript”都是&nbsp;Oracle 公司在美国和其他国家注册(或未注册)的商标,但是这两门语言在语法、语义与用途方面有很大不同。</p>

<div class="column-container">
<div class="column-half">
<h2 id="Creating" name="Creating">教程</h2>

<p>在教程的指导下学习如何使用 JavaScript 编程。</p>

<h3 id="介绍">介绍</h3>

<dl>
 <dt><a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide">JavaScript 指南</a></dt>
 <dd>如果您对 JavaScript 很陌生,本指南将带您了解下这门语言。</dd>
 <dt><a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/JavaScript_technologies_overview">JavaScript 技术概览</a></dt>
 <dd>介绍 JavaScript 在浏览器中的运用。</dd>
 <dt><a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript">JavaScript 面向对象</a></dt>
 <dd>介绍 JavaScript 语言当中的面向对象概念。</dd>
</dl>

<h3 id="中级内容">中级内容</h3>

<dl>
 <dt><a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/A_re-introduction_to_JavaScript">对 JavaScript 刮目相看</a></dt>
 <dd>为那些自认为懂得&nbsp;JavaScript 的朋友们重新介绍一遍 JavaScript。</dd>
</dl>

<dl>
 <dt><a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Data_structures">JavaScript 数据结构</a></dt>
 <dd>JavaScript 数据结构的概览</dd>
 <dt><a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Equality_comparisons_and_when_to_use_them">如何使用比较操作符</a></dt>
 <dd>JavaScript 提供了三种比较操作符,包括严格比较操作符 <code>===</code> 和非严格的比较操作符 <code>==,以及&nbsp;</code>{{jsxref("Global_Objects/Object/is", "Object.is()")}} 方法。</dd>
</dl>

<h3 id="高级内容">高级内容</h3>

<dl>
 <dt><a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain">继承和原型的链式结构</a></dt>
 <dd>给受到普遍误解和低估的基于原型的继承做一个详细解释。</dd>
 <dt><a href="/zh-CN/docs/Web/JavaScript/Reference/Strict_mode">严格模式</a></dt>
 <dd>严格模式规定不能使用未定义的变量,它是 JavaScript 的有限子集,以求得更高效的性能和更便利的调试。</dd>
 <dt><a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Typed_arrays">JavaScript 类型数组</a></dt>
 <dd>为使 JavaScript 处理原始二进制数据而提供的类型数组。</dd>
 <dt><a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Memory_Management">内存管理</a></dt>
 <dd>JavaScript 中的内存生命周期和垃圾回收机制。</dd>
 <dt><a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/EventLoop">并发模型以及事件循环</a></dt>
 <dd>JavaScript 现加入了基于“事件循环”的并发模型。</dd>
</dl>
</div>

<div class="column-half">
<h2 id="参考">参考</h2>

<p>浏览完整的&nbsp;<a href="/zh-CN/docs/Web/JavaScript/Reference">Javascript 参考</a>文档。</p>

<dl>
 <dt><a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects">标准对象 </a></dt>
 <dd>熟悉下标准的内置对象例如 {{jsxref("Array")}}, {{jsxref("Boolean")}}, {{jsxref("Date")}}, {{jsxref("Error")}}, {{jsxref("Function")}}, {{jsxref("JSON")}}, {{jsxref("Math")}}, {{jsxref("Number")}}, {{jsxref("Object")}}, {{jsxref("RegExp")}}, {{jsxref("String")}}, {{jsxref("Map")}}, {{jsxref("Set")}}, {{jsxref("WeakMap")}} , {{jsxref("WeakSet")}}&nbsp;以及其他对象</dd>
 <dt><a href="/zh-CN/docs/Web/JavaScript/Reference/Operators">表达式和运算符</a></dt>
 <dd>了解下列运算符的作用:{{jsxref("Operators/instanceof", "instanceof")}}, {{jsxref("Operators/typeof", "typeof")}}, {{jsxref("Operators/new", "new")}}, {{jsxref("Operators/this", "this")}},<a href="/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence">运算符优先级</a>,以及其他运算符。</dd>
 <dt><a href="/zh-CN/docs/Web/JavaScript/Reference/Statements">语句和声明</a></dt>
 <dd>了解 {{jsxref("Statements/do...while", "do-while")}}, {{jsxref("Statements/for...in", "for-in")}}, {{jsxref("Statements/for...of", "for-of")}}, {{jsxref("Statements/try...catch", "try-catch")}}, {{jsxref("Statements/let", "let")}}, {{jsxref("Statements/var", "var")}}, {{jsxref("Statements/const", "const")}}, {{jsxref("Statements/if...else", "if-else")}}, {{jsxref("Statements/switch", "switch")}} 以及其他语句和关键字的作用。</dd>
 <dt><a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions">函数</a></dt>
 <dd>学习如何使用 JavaScript 函数来开发你的应用。</dd>
</dl>

<h2 id="工具和资源">工具和资源</h2>

<p>有助于您编写和调试 JavaScript 代码的有用工具。</p>

<dl>
 <dt><a href="https://developer.mozilla.org/zh-CN/docs/Tools">Firefox 开发工具</a></dt>
 <dd>包括 <a href="/zh-CN/docs/Tools/Scratchpad">Scratchpad</a>, <a href="/zh-CN/docs/Tools/Web_Console">Web Console</a>, <a href="/zh-CN/docs/Tools/Profiler">JavaScript Profiler</a>, <a href="/zh-CN/docs/Tools/Debugger">Debugger</a> 等等</dd>
 <dt><a class="external" href="https://www.getfirebug.com/">Firebug</a></dt>
 <dd>在任何页面中实时编写、调试和模拟 CSS、HTML 及 JavaScript。</dd>
 <dt><a href="https://developer.mozilla.org/zh-CN/docs/JavaScript/shells">JavaScript Shells</a></dt>
 <dd>允许您快速测试 JavaScript 代码片段的运行环境。</dd>
 <dt><a href="https://togetherjs.com/">TogetherJS</a></dt>
 <dd>
 <p class="hero-header-text large">让协作更简单。</p>
 </dd>
 <dt><a href="https://stackoverflow.com/questions/tagged/javascript">Stack Overflow</a></dt>
 <dd>StackOverflow 上的 JavaScript 问答。</dd>
 <dt><a href="/zh-CN/docs/Web/JavaScript/New_in_JavaScript">JavaScript版本和发行记录</a></dt>
 <dd>浏览 JavaScript的历史版本特性和实现情况.</dd>
 <dt><a href="https://jsfiddle.net/">JSFiddle</a></dt>
 <dd>编辑 JavaScript, CSS, HTML 并获得实时结果。使用外置资源,并和你的团队在线合作。</dd>
</dl>
</div>
</div>

<p>{{CommunityBox("JavaScript", "js-engine.internals", "mozilla.dev.tech.js-engine.internals", "js", "ES讨论|https://esdiscuss.org/|esdiscuss.org|ECMAScript标准探讨邮件列表||SpiderMonkey|https://wiki.mozilla.org/JavaScript|项目主页|助力JavaScript引擎||Twitter|https://twitter.com/SpiderMonkeyJS|@SpiderMonkeyJS|SpiderMonkey updates on Twitter")}}</p>
恢复到这个版本