---
title: JavaScript
slug: Web/JavaScript
tags:
- JavaScript
- Landing
- Learn
- priority
translation_of: Web/JavaScript
---
{{JsSidebar()}}
JavaScript ( JS ) 是一种具有{{Glossary("First-class Function", "函数优先")}}的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web 页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,例如 Node.js、 Apache CouchDB 和 Adobe Acrobat。JavaScript 是一种{{Glossary("Prototype-based_programming", "基于原型编程")}}、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。了解更多 JavaScript。
本部分将专注于 JavaScript 语言本身,而非局限于网页或其他限制环境。想要了解网页有关的 {{Glossary("API","APIs")}} ,请参考 Web APIs 以及 DOM。
JavaScript 的标准是 ECMAScript 。截至 2012 年,所有的现代浏览器都完整的支持 ECMAScript 5.1,旧版本的浏览器至少支持 ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了 ECMAScript 的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为 ECMAScript 6 或者 ES6。自此,ECMAScript 每年发布一次新标准。本文档目前覆盖了最新 ECMAScript 的草案,也就是 ECMAScript2020。
不要将 JavaScript 与 Java编程语言 混淆。虽然“Java”和“JavaScript”都是 Oracle 公司在美国和其他国家注册(或未注册)的商标,但是这两门语言在语法、语义与用途方面有很大不同。
教程
通过使用指南和教程来学习如何用JavaScript语言编程。
对于完全初学者
如果你想学习 JavaScript,但苦于没有过 JavaScript 或者其他语言的编程经验,你可以投入到我们的 JavaScript 主题学习区。那里有完整的学习资源:
- JavaScript 第一步
- 回答一些基本问题,比如“JavaScript 是什么?”、“它是怎么样的?”、“它可以用来做什么?”;同时还讨论如变量、字符串、数值和数组等 JavaScript 的核心特性。
- JavaScript 基本结构
- 继介绍了 JavaScript 基本的核心特性后,我们需要关注常见的代码块类型,如条件语句,循环,函数和事件。
- 介绍JavaScript 对象
- 如果你想进一步使用该语言撰写更有效率的代码,理解 JavaScript 面向对象的精髓是很重要的,因此我们提供了该模块来帮助你理解它。
JavaScript 指南
- JavaScript 指南
- 一份更详尽的 JavaScript 指南,适用于有过 JavaScript 或其他语言编程经验的读者。
中级内容
- 客户端 Web API
- 当你正在给网页或者网页 APP 编写客户端 JavaScript 时, 你离不开使用这些 API — 这些用来操作浏览器各个不同方面和网页所在的操作系统,甚至是来自于其他网页和服务器的数据的接口。在这个模块,我们来探究这些 API 是什么,以及怎么在你的日常开发工作中使用一些最常用的 API。
- 重新介绍 JavaScript(JS 教程)
- 给那些有 JavaScript 基础的朋友们的 JavaScript概述。
- JavaScript 数据结构
- JavaScript 数据结构的概述。
- 如何使用比较操作符
- JavaScript 提供了三种比较操作符,包括严格比较操作符
===
和非严格的比较操作符 ==
,以及 {{jsxref("Global_Objects/Object/is", "Object.is()")}} 方法。
- 闭包
- 闭包是一个函数与其本身所被定义的词法环境的结合。
高级内容
- 继承和原型链
- 基于原型继承被外界广泛地误解与低估,这一版块对基于原型的继承作出详细解释。
- 严格模式
- 严格模式规定不能使用未定义的变量。严格模式是对 ECMAScript 5 的严格限制,以求得更高效的性能和更便利的调试。
- 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 等等
- JavaScript Shells
- 允许您快速测试 JavaScript 代码片段。
- TogetherJS
-
- Stack Overflow
- 你可以在 StackOverflow 查看或者发布带有 JavaScript 标签的问题。
- JavaScript版本和发行记录
- 浏览 JavaScript 的历史版本特性和实现情况.
- JSFiddle
- 编辑 JavaScript、CSS 和 HTML 并获得实时结果。使用外置资源,并和你的团队在线合作。
- Plunker
- Plunker 是一个在线社区,用于创建,协作和共享您的 Web 开发创意。编辑您的 JavaScript、CSS 和 HTML 文件并获取实时结果和文件结构。
- JSBin
-
JS Bin 是一种开源的协作式的web 开发调试工具。