摘要:
面向对象术语 对象 ECMA-262 把对象(object)定义为“属性的无序集合,每个属性存放一个原始值、对象或函数”。严格来说,这意味着对象是无特定顺序的值的数组。 尽管 ECMAScript 如此定义对象,但它更通用的定义是基于代码的名词(人、地点或事物)的表示。 类 每个对象都由类定义,可以把类看做对象的配方。类不仅要定义对象的接口(interface)(开发者访问的属性和方法)... 阅读全文
摘要:
闭包,指的是词法表示包括不被计算的变量的函数,也就是说,函数可以使用函数之外定义的变量。 简单的闭包实例 在 ECMAScript 中使用全局变量是一个简单的闭包实例。请思考下面这段代码: var sMessage = "hello world";function sayHelloWorld() { alert(sMessage);}sayHelloWorld();在上面这段代码中,脚... 阅读全文
摘要:
ECMAScript 的函数实际上是功能完整的对象。 Function 对象(类) ECMAScript 最令人感兴趣的可能莫过于函数实际上是功能完整的对象。 Function 类可以表示开发者定义的任何函数。 用 Function 类直接创建函数的语法如下:var function_name = new function(arg1, arg2, ..., argN, function_body... 阅读全文
摘要:
arguments 对象 在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们。 例如,在函数 sayHi() 中,第一个参数是 message。用 arguments[0] 也可以访问这个值,即第一个参数的值(第一个参数位于位置 0,第二个参数位于位置 1,依此类推)。 因此,无需明确命名参数,就可以重写函数:function sayHi() { if (ar... 阅读全文
摘要:
什么是函数? 函数是一组可以随时随地运行的语句。 函数是 ECMAScript 的核心。 函数是由这样的方式进行声明的:关键字 function、函数名、一组参数,以及置于括号中的待执行代码。 函数的基本语法是这样的:function functionName(arg0, arg1, ... argN) { statements}例如:function sayHi(sName, sMessage... 阅读全文
摘要:
有标签的语句 with 语句用于设置代码在特定对象中的作用域。 它的语法: with (expression) statement例如:var sMessage = "hello";with(sMessage) { alert(toUpperCase()); //输出 "HELLO"}在这个例子中,with 语句用于字符串,所以在调用 toUpperCase() 方法时,解释程序将检查该方... 阅读全文
摘要:
switch 语句 switch 语句是 if 语句的兄弟语句。 开发者可以用 switch 语句为表达式提供一系列的情况(case)。 switch 语句的语法: switch (expression) case value: statement; break; case value: statement; break; case value: statement; ... 阅读全文
摘要:
break 和 continue 语句对循环中的代码执行提供了更严格的控制。 break 和 continue 语句的不同之处 break 语句可以立即退出循环,阻止再次反复执行任何代码。 而 continue 语句只是退出当前循环,根据控制表达式还允许继续进行下一次循环。 例如: var iNum = 0;for (var i=1; i<10; i++) { if (i % 5 ==... 阅读全文
摘要:
迭代语句又叫循环语句,声明一组要反复执行的命令,直到满足某些条件为止。 循环通常用于迭代数组的值(因此而得名),或者执行重复的算术任务。 本节为您介绍 ECMAScript 提供的四种迭代语句。 do-while 语句 do-while 语句是后测试循环,即退出条件在执行循环内部的代码之后计算。这意味着在计算表达式之前,至少会执行循环主体一次。 它的语法如下: do {statemen... 阅读全文
摘要:
有标签的语句 可以用下列语句给语句加标签,以便以后调用: label : statement例如:start : i = 5;在这个例子中,标签 start 可以被之后的 break 或 continue 语句引用。提示:在下面的章节,我们将为您介绍 break 和 continue 语句。 阅读全文
摘要:
逗号运算符 用逗号运算符可以在一条语句中执行多个运算。 例如: var iNum1 = 1, iNum = 2, iNum3 = 3;逗号运算符常用变量声明中。 阅读全文
摘要:
if 语句是 ECMAScript 中最常用的语句之一。 ECMAScript 语句 ECMA - 262 描述了 ECMAScript 的几种语句(statement)。 语句主要定义了 ECMAScript 的大部分语句,通常采用一个或多个关键字,完成给定的任务。 语句可以非常简单,例如通知函数退出,也可以非常复杂,如声明一组要反复执行的命令。 在《ECMAScript 语句》这一章... 阅读全文
摘要:
条件运算符 条件运算符是 ECMAScript 中功能最多的运算符,它的形式与 Java 中的相同。 variable = boolean_expression ? true_value : false_value;该表达式主要是根据 boolean_expression 的计算结果有条件地为变量赋值。如果 Boolean_expression 为 true,就把 true_value 赋给变... 阅读全文
摘要:
赋值运算符 简单的赋值运算符由等号(=)实现,只是把等号右边的值赋予等号左边的变量。 例如: var iNum = 10;复合赋值运算是由乘性运算符、加性运算符或位移运算符加等号(=)实现的。这些赋值运算符是下列这些常见情况的缩写形式:var iNum = 10;iNum = iNum + 10;可以用一个复合赋值运算符改写第二行代码:var iNum = 10;iNum += 10;每种主... 阅读全文
摘要:
判断两个变量是否相等是程序设计中非常重要的运算。在处理原始值时,这种运算相当简单,但涉及对象,任务就稍有点复杂。 ECMAScript 提供了两套等性运算符:等号和非等号用于处理原始值,全等号和非全等号用于处理对象。 等号和非等号 在 ECMAScript 中,等号由双等号(==)表示,当且仅当两个运算数相等时,它返回 true。非等号由感叹号加等号(!=)表示,当且仅当两个运算数不相等时,... 阅读全文
摘要:
关系运算符执行的是比较运算。每个关系运算符都返回一个布尔值。 常规比较方式 关系运算符小于、大于、小于等于和大于等于执行的是两个数的比较运算,比较方式与算术比较运算相同。 每个关系运算符都返回一个布尔值: var bResult1 = 2 > 1 //truevar bResult2 = 2 < 1 //false不过,对两个字符串应用关系运算符,它们的行为则不同。许多人认为小于表示“在字... 阅读全文
摘要:
在多数程序设计语言中,加性运算符(即加号或减号)通常是最简单的数学运算符。 在 ECMAScript 中,加性运算符有大量的特殊行为。 加法运算符 法运算符由加号(+)表示: var iResult = 1 + 2与乘性运算符一样,在处理特殊值时,ECMAScript 中的加法也有一些特殊行为: 某个运算数是 NaN,那么结果为 NaN。 -Infinity 加 -Infinity,... 阅读全文
摘要:
ECMAScript 的乘性运算符与 Java、C、Perl 等于语言中的同类运算符的运算方式相似。 需要注意的是,乘性运算符还具有一些自动转换功能。 乘法运算符 乘法运算符由星号(*)表示,用于两数相乘。 ECMAScript 中的乘法语法与 C 语言中的相同: var iResult = 12 * 34不过,在处理特殊值时,ECMAScript 中的乘法还有一些特殊行为: 如果... 阅读全文
摘要:
ToBoolean 操作 逻辑 NOT 运算符 在 ECMAScript 中,逻辑 NOT 运算符与 C 和 Java 中的逻辑 NOT 运算符相同,都由感叹号(!)表示。 与逻辑 OR 和逻辑 AND 运算符不同的是,逻辑 NOT 运算符返回的一定是 Boolean 值。 逻辑 NOT 运算符的行为如下: 如果运算数是对象,返回 false 如果运算数是数字 0,返回 true 如... 阅读全文
摘要:
位运算符是在数字底层(即表示数字的 32 个数位)进行操作的 重温整数 ECMAScript 整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数)。在 ECMAScript 中,所有整数字面量默认都是有符号整数,这意味着什么呢? 有符号整数使用 31 位表示整数的数值,用第 32 位表示整数的符号,0 表示正数,1 表示负数。数值范围从 -214748364... 阅读全文