JavaScript ( JS ) 是一种轻量级解释型的,或是JIT编译型的程序设计语言,有着 头等函数 (First-class Function) 的编程语言。虽然它是作为开发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 或其他语言编程经验的读者。
中级内容
- 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 并获得实时结果。使用外置资源,并和你的团队在线合作。
加入 JavaScript 社区
- IRC: #js (了解 IRC)
- ES讨论: esdiscuss.org
- SpiderMonkey: 项目主页
- Twitter: @SpiderMonkeyJS