JavaScript ( JS ) 是具有头等函数的轻量级解释或JIT编译型的编程语言。虽然它是作为开发web页面的脚本语言而出名的,但是在很多非浏览器环境中也使用JavaScript,例如 node.js 和 Apache CouchDB。JS是一种基于原型、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。了解更多 关于JavaScript

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

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

不要将 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 深入理解
为那些有 JavaScript 基础的朋友们深入介绍 JavaScript。
JavaScript 数据结构
JavaScript 数据结构的概览
如何使用比较操作符
JavaScript 提供了三种比较操作符,包括严格比较操作符 === 和非严格的比较操作符 ==,以及 Object.is() 方法。

高级内容

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

参考

浏览完整的 Javascript 参考文档。

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

工具和资源

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

Firefox 开发工具
包括 Scratchpad, Web Console, JavaScript Profiler, Debugger 等等
JavaScript Shells
允许您快速测试 JavaScript 代码片段的运行环境。
TogetherJS

添加 TogetherJS 到您的网站,让用户实时互助,协作更简单。

Stack Overflow
StackOverflow 上的 JavaScript 问答。
JavaScript版本和发行记录
浏览 JavaScript的历史版本特性和实现情况.
JSFiddle
编辑 JavaScript, CSS, HTML 并获得实时结果。使用外置资源,并和你的团队在线合作。
Plunker
Plunker是一个在线社区,用于创建,协作和共享您的Web开发创意。编你您的JavaScript,CSS,HTML文件并获取实时结果和文件结构。

加入 JavaScript 社区

请选择你喜欢的方式加入我们: