JavaScript ( JS ) 是一种轻量级,解释型的,有着 一等函数 (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的草案,也就是ECMAScript2017。
不要将 JavaScript 与 Java 编程语言混淆。虽然“Java”和“JavaScript”都是 Oracle 公司在美国和其他国家注册(或未注册)的商标,但是这两门语言在语法、语义与用途方面有很大不同。
教程
在教程的指导下学习如何使用 JavaScript 编程。
介绍
- JavaScript 指南
- 如果您对 JavaScript 很陌生,本指南将带您了解下这门语言。
- JavaScript 技术概览
- 介绍 JavaScript 在浏览器中的运用。
- JavaScript 面向对象
- 介绍 JavaScript 语言当中的面向对象概念。
中级内容
- 对 JavaScript 刮目相看
- 为那些自认为懂得 JavaScript 的朋友们重新介绍一遍 JavaScript。
- JavaScript 数据结构
- JavaScript 数据结构的概览
- 如何使用比较操作符
- JavaScript 提供了三种比较操作符,包括严格比较操作符
===
和非严格的比较操作符==,以及
Object.is()
方法。
高级内容
- 继承和原型的链式结构
- 给受到普遍误解和低估的基于原型的继承做一个详细解释。
- 严格模式
- 严格模式规定不能使用未定义的变量,它是 JavaScript 的有限子集,以求得更高效的性能和更便利的调试。
- 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 等等
- Firebug
- 在任何页面中实时编写、调试和模拟 CSS、HTML 及 JavaScript。
- JavaScript Shells
- 允许您快速测试 JavaScript 代码片段的运行环境。
- TogetherJS
-
让协作更简单。
- Stack Overflow
- StackOverflow 上的 JavaScript 问答。
- JavaScript版本和发行记录
- 浏览 JavaScript的历史版本特性和实现情况.
- JSFiddle
- 编辑 JavaScript, CSS, HTML 并获得实时结果。使用外置资源,并和你的团队在线合作。
加入 JavaScript 社区
请选择你喜欢的方式加入我们:
- IRC: #js (了解 IRC)
- ES讨论: esdiscuss.org
- SpiderMonkey: 项目主页
- Twitter: @SpiderMonkeyJS
文档标签和贡献者
标签:
此页面的贡献者:
VdoG,
xiaokk06,
xgqfrms,
Ende93,
Rusion-Wayne,
xiaoyusilen,
Moressette,
simongfxu,
eforegist,
nperhb,
wth,
WentaoMa,
Roland_Reed,
ngtmuzi,
leonine,
stdupp,
lunix01,
sammuelyee,
MMOnster,
redman9,
wangsai,
flyingdew,
Yaty,
yenshen,
apollo,
azzndmy,
yiding_he,
Brainor,
ReyCG_sub,
teoli,
7anshuai,
xcffl,
ziyunfei,
Asvel,
[email protected],
xiaoxiong,
iwo,
lins05
最后编辑者:
VdoG,