关于此参考
一些编程经验,诸如C或者Visual Basic,对学习了解Javascript是十分有帮助的,但是并不是必须的。
JavaScript 语言是打算用于一些大的环境,比如浏览器、服务器端脚本或类似的环境。本文档大多数情况下是与环境无关的,不仅仅针对网络浏览器环境。作为示范,本参考使用函数 println,它不是 JavaScript 的一部分,但可以被映射到特定环境中用于显示其接受的值。例如,在浏览器中 println 可以定义为如下形式:
function println(string) {
window.alert(string);
}
// 在某些浏览器或命令行模式中,可以这样映射将打印输出到控制台:
function println(string) {
console.log(something);
}
映射到其他JavaScript环境的功能,就留作读者的练习吧。
格式约定
本参考包括描述代码语法的段落,在文档的合适位置或常用的主题中作为演示。在这些段落中,除省略号以外所有文字均为非斜体字体表示。斜体字代表用户定义的名字或语句。在方括号内的内容表示可选 ([ 和 ]) 。省略号 (...) 代表一个列表,除了第一个项以外都被省略了 (例如,在这个列表中 "param1, param2, ..., paramN" 只有 param1 是必须写出的)。
JavaScript的历史
最近,基于 Mozilla 的浏览器支持 JavaScript 的更新版本。下表列出了不同 Mozilla 火狐浏览器支持的 JavaScript 版本。
自从1999年 JavaScript 1.5 面世以来,今天支持低于 JavaScript 1.5 的浏览器已经很罕见了。如果你对历史信息感兴趣,请参考Wikipedia文章 ECMAScript。
JavaScript/浏览器支持历史
| JavaScript (SpiderMonkey引擎) 版本 | 浏览器版本 | Gecko 版本 |
|---|---|---|
| JavaScript 1.5 | Navigator 6.0, Mozilla Application Suite, Firefox 1.0 | Gecko 0.6x-1.7 |
| JavaScript 1.6 | Firefox 1.5 | Gecko 1.8 |
| JavaScript 1.7 | Firefox 2 | Gecko 1.8.1 |
| JavaScript 1.8 | Firefox 3 | Gecko 1.9 |
去哪查找 JavaScript 信息
JavaScript 核心文档包括如下书籍:(大部分是遵循纯粹的 ECMAScript 标准)
如果你是 JavaScript 的新手,应该从指南看起。一旦你有了坚实的基础,你可以从参考中得到对象和 JavaScript 语言构造的详细资料。
全局对象
函数与函数作用域
语句
操作符与其他关键字
- 算术运算符
-
(
+,-,*,/,%,++,--, unary-, unary +)算数运算符将多个类数字值(字面量或者变量)当成操作数,并计算出运算结果.
- 赋值运算符
-
(
=, *=, /=, %=, +=, -=, <<=, >>=, >>>=, &=, ^=, |=)赋值运算符将右边表达式的值赋值给左边的变量.
- 位运算符
-
(
&,|,^,~,<<,>>,>>>)位运算符将它的操作数看成二进制数,并计算出10进制数字的结果.
- 比较运算符
-
(
==,!=,===,!==,>,>=,<,<=)比较运算符通过比较它的操作数返回一个布尔值.
- 逻辑运算符
-
(
&&,||,!)逻辑运算符操作布尔值,并且返回计算后的布尔值.
- 字符串运算符
-
(
+and+=)字符串运算符连接两个字符串,返回一个新的字符串.
- 成员运算符
-
(
object.property和object["property"])通过成员运算符可以访问一个对象的属性.
- 特殊运算符
- 下面这些特殊的运算符不适合放到上面的分类中.
-
- 条件运算符
-
(
condition ? ifTrue : ifFalse)条件运算符根据
condition的真假返回后面两个表达式其中的一个. - 逗号运算符
-
(
,)逗号运算符允许在一个语句内执行多个表达式.并且返回最右边表达式的计算结果.
- 删除操作符
-
(
delete)删除操作符删除一个对象的属性.
- function 操作符
-
(
function)function 操作符定义一个对象.
- get 操作符
-
(
get)get 操作符定义一个属性的 getter.
- in 操作符
-
(
in)in 操作符检查一个对象是否有指定的属性.
- instanceof 操作符
-
(
instanceof)instanceof 操作符检查一个对象是否是另一个对象的实例.
- let 操作符
-
(
let)let 操作符创建一个临时变量,有效作用域仅为当前表达式.
- new 操作符
-
(
new)new 操作符创建一个构造器的实例.
- set 操作符
-
(
set)set 操作符定义一个属性的 setter.
- this 操作符
-
(
this)this 操作符指向当前的执行上下文.
- typeof 操作符
-
(
typeof)typeof 操作符返回指定对象的类型.
- void 操作符
-
(
void)void 操作符丢弃一个表达式的返回值.
- yield 操作符
-
(
yield)yield 操作符可以构造一个生成器.
- 运算符优先级
- 定义了语句执行时运算符的执行顺序.
注释
- 代码注释 (
//与/* */)
E4X (扩展)
全局语句:
全局函数:
全局构造函数: