diff --git a/files/zh-cn/web/javascript/guide/expressions_and_operators/index.html b/files/zh-cn/web/javascript/guide/expressions_and_operators/index.html index a3cd4894aba997..2c863abfa38bf2 100644 --- a/files/zh-cn/web/javascript/guide/expressions_and_operators/index.html +++ b/files/zh-cn/web/javascript/guide/expressions_and_operators/index.html @@ -12,23 +12,23 @@

本章描述了 JavaScript 的表达式和运算符,包括了赋值,比较,算数,位运算,逻辑,字符串,三元等等。

-

一个完整详细的运算符列表和表达式可以参见 reference.

+

一个完整详细的运算符列表和表达式可以参见 reference.

运算符

JavaScript 拥有如下类型的运算符。本节描述了运算符和运算符的优先级。

JavaScript 拥有二元和一元运算符, 和一个特殊的三元运算符(条件运算符)。一个二元运算符需要两个操作数,分别在运算符的前面和后面:

@@ -50,7 +50,7 @@

运算符

赋值运算符

-

一个 赋值运算符 (assignment operator) 将它右边操作数的值赋给它左边的操作数。最简单的赋值运算符是等于(=),它将右边的操作数值赋给左边的操作数。那么 x = y 就是将 y 的值赋给 x。

+

一个 赋值运算符 (assignment operator) 将它右边操作数的值赋给它左边的操作数。最简单的赋值运算符是等于(=),它将右边的操作数值赋给左边的操作数。那么 x = y 就是将 y 的值赋给 x。

还有一些复合赋值操作符,它们是下表列出的这些操作的缩写:

@@ -65,67 +65,67 @@

赋值运算符

- 赋值 (Assignment) + 赋值 (Assignment) x = y x = y - 加法赋值 (Addition assignment) + 加法赋值 (Addition assignment) x += y x = x + y - 减法赋值 (Subtraction assignment) + 减法赋值 (Subtraction assignment) x -= y x = x - y - 乘法赋值 (Multiplication assignment) + 乘法赋值 (Multiplication assignment) x *= y x = x * y - 除法赋值 (Division assignment) + 除法赋值 (Division assignment) x /= y x = x / y - 求余赋值 (Remainder assignment) + 求余赋值 (Remainder assignment) x %= y x = x % y - 求幂赋值 (Exponentiation assignment) + 求幂赋值 (Exponentiation assignment) x **= y x = x ** y - 左移位赋值 (Left shift assignment) + 左移位赋值 (Left shift assignment) x <<= y x = x << y - 右移位赋值 (Right shift assignment) + 右移位赋值 (Right shift assignment) x >>= y x = x >> y - 无符号右移位赋值 (Unsigned right shift assignment) + 无符号右移位赋值 (Unsigned right shift assignment) x >>>= y x = x >>> y - 按位与赋值 (Bitwise AND assignment) + 按位与赋值 (Bitwise AND assignment) x &= y x = x & y - 按位异或赋值 (Bitwise XOR assignment) + 按位异或赋值 (Bitwise XOR assignment) x ^= y x = x ^ y - 按位或赋值 (Bitwise OR assignment) + 按位或赋值 (Bitwise OR assignment) x |= y x = x | y @@ -134,7 +134,7 @@

赋值运算符

解构

-

对于更复杂的赋值,解构赋值语法是一个能从数组或对象对应的数组结构或对象字面量里提取数据的 Javascript 表达式。

+

对于更复杂的赋值,解构赋值语法是一个能从数组或对象对应的数组结构或对象字面量里提取数据的 Javascript 表达式。

var foo = ["one", "two", "three"];
 
@@ -148,7 +148,7 @@ 

解构

比较运算符

-

比较运算符比较它的操作数并返回一个基于表达式是否为真的逻辑值。操作数可以是数字,字符串,逻辑,对象值。字符串比较是基于标准的字典顺序,使用 Unicode 值。在多数情况下,如果两个操作数不是相同的类型, JavaScript 会尝试转换它们为恰当的类型来比较。这种行为通常发生在数字作为操作数的比较。类型转换的例外是使用 ===!== 操作符,它们会执行严格的相等和不相等比较。这些运算符不会在检查相等之前转换操作数的类型。下面的表格描述了该示例代码中的各比较运算符

+

比较运算符比较它的操作数并返回一个基于表达式是否为真的逻辑值。操作数可以是数字,字符串,逻辑,对象值。字符串比较是基于标准的字典顺序,使用 Unicode 值。在多数情况下,如果两个操作数不是相同的类型, JavaScript 会尝试转换它们为恰当的类型来比较。这种行为通常发生在数字作为操作数的比较。类型转换的例外是使用 ===!== 操作符,它们会执行严格的相等和不相等比较。这些运算符不会在检查相等之前转换操作数的类型。下面的表格描述了该示例代码中的各比较运算符

var var1 = 3;
 var var2 = 4;
@@ -164,7 +164,7 @@

比较运算符

- 等于 Equal (==) + 等于 Equal (==)

如果两边操作数相等时返回 true。

@@ -173,42 +173,42 @@

比较运算符

3 == '3' - 不等于 Not equal (!=) + 不等于 Not equal (!=) 如果两边操作数不相等时返回 true var1 != 4
var2 != "3"
- 全等 Strict equal (===) - 两边操作数相等且类型相同时返回 true。 参见 {{jsxref("Object.is")}} and sameness in JS. + 全等 Strict equal (===) + 两边操作数相等且类型相同时返回 true。 参见 {{jsxref("Object.is")}} and sameness in JS. 3 === var1 - 不全等 Strict not equal (!==) + 不全等 Strict not equal (!==) 两边操作数不相等或类型不同时返回 true。 var1 !== "3"
3 !== '3'
- 大于 Greater than (>) + 大于 Greater than (>) 左边的操作数大于右边的操作数返回 true var2 > var1
"12" > 2
- 大于等于 Greater than or equal (>=) + 大于等于 Greater than or equal (>=) 左边的操作数大于或等于右边的操作数返回 true var2 >= var1
var1 >= 3
- 小于 Less than (<) + 小于 Less than (<) 左边的操作数小于右边的操作数返回 true var1 < var2
"2" < 12
- 小于等于 Less than or equal (<=) + 小于等于 Less than or equal (<=) 左边的操作数小于或等于右边的操作数返回 true var1 <= var2
var2 <= 5
@@ -217,7 +217,7 @@

比较运算符

-

备注:=>)不是运算符,而是箭头函数的标记符号 。

+

备注:=>)不是运算符,而是箭头函数的标记符号 。

算术运算符

@@ -321,29 +321,29 @@

位运算符

- 按位与 AND + 按位与 AND a & b

在 a,b 的位表示中,每一个对应的位都为 1 则返回 1, 否则返回 0.

- 按位或 OR + 按位或 OR a | b 在 a,b 的位表示中,每一个对应的位,只要有一个为 1 则返回 1, 否则返回 0. - 按位异或 XOR + 按位异或 XOR a ^ b 在 a,b 的位表示中,每一个对应的位,两个不相同则返回 1,相同则返回 0. - 按位非 NOT + 按位非 NOT ~ a 反转被操作数的位。 - 左移 shift + 左移 shift a << b 将 a 的二进制串向左移动 b 位,右边移入 0. @@ -484,17 +484,17 @@

逻辑运算符

- 逻辑与 (&&) + 逻辑与 (&&) expr1 && expr2 (逻辑与) 如果 expr1 能被转换为 false,那么返回 expr1;否则,返回expr2。因此,&&用于布尔值时,当操作数都为 true 时返回 true;否则返回 false. - 逻辑或 (||) + 逻辑或 (||) expr1 || expr2 (逻辑或) 如果 expr1 能被转换为 true,那么返回 expr1;否则,返回expr2。因此,|| 用于布尔值时,当任何一个操作数为 true 则返回 true;如果操作数都是 false 则返回 false。 - 逻辑非 (!) + 逻辑非 (!) !expr (逻辑非) 如果操作数能够转换为 true 则返回 false;否则返回 true。 @@ -592,7 +592,7 @@

一元操作符

delete

-

delete操作符,删除一个对象的属性或者一个数组中某一个键值。语法如下:

+

delete操作符,删除一个对象的属性或者一个数组中某一个键值。语法如下:

delete objectName.property;
 delete objectName[index];
@@ -601,7 +601,7 @@ 

delete

objectName是一个对象名,property 是一个已经存在的属性,index是数组中的一个已经存在的键值的索引值。

-

第三行的形式只在with声明的状态下是合法的, 从对象中删除一个属性。

+

第三行的形式只在with声明的状态下是合法的, 从对象中删除一个属性。

你能使用 delete 删除各种各样的隐式声明, 但是被var声明的除外。

@@ -724,13 +724,13 @@

void

<a href="javascript:void(document.form.submit())">
 Click here to submit</a>
-

关系操作符

+

关系运算符

-

关系操作符对操作数进行比较,根据比较结果真或假,返回相应的布尔值。

+

关系运算符对操作数进行比较,根据比较结果真或假,返回相应的布尔值。

in

-

in操作符,如果所指定的属性确实存在于所指定的对象中,则会返回true,语法如下:

+

in操作符,如果所指定的属性确实存在于所指定的对象中,则会返回true,语法如下:

propNameOrNumber in objectName
 
@@ -861,7 +861,7 @@

运算符优先级

-

上表有一个更详细的版本,它包含了各操作符更详细的说明,可在 JavaScript 参考手册 中找到。

+

上表有一个更详细的版本,它包含了各操作符更详细的说明,可在 JavaScript 参考手册中找到。

表达式

@@ -876,9 +876,9 @@

表达式

JavaScript 有以下表达式类型:

@@ -887,7 +887,7 @@

基本表达式

this

-

this关键字被用于指代当前的对象,通常,this指代的是方法中正在被调用的对象。用法如下:

+

this关键字被用于指代当前的对象,通常,this指代的是方法中正在被调用的对象。用法如下:

this["propertyName"]
 this.propertyName
@@ -934,7 +934,7 @@ 
数值推导
{{experimental_inline}} {{jsxref("Operators/Array_comprehensions", "[for (x of y) x]")}}
数列数值推导(非标准用法)
{{experimental_inline}} {{jsxref("Operators/Generator_comprehensions", "(for (x of y) y)")}}
-
生成器数值推导(译者注:生成器数值推导标准化可能不大,推荐使用 生成器函数
+
生成器数值推导(译者注:生成器数值推导标准化可能不大,推荐使用 生成器函数

Comprehensions 特性被许多编程语言所采用,该特性能够使你快速地通过一个已有的数组来创建出一个新的数组,比如:

@@ -952,14 +952,14 @@

左值表达式

new

-

你可以使用new operator 创建一个自定义类型或者是预置类型的对象实例。用法如下:

+

你可以使用new operator 创建一个自定义类型或者是预置类型的对象实例。用法如下:

var objectName = new objectType([param1, param2, ..., paramN]);
 

super

-

super 关键字可以用来调用一个对象父类的函数,它在用来调用一个的父类的构造函数时非常有用,比如:

+

super 关键字可以用来调用一个对象父类的函数,它在用来调用一个的父类的构造函数时非常有用,比如:

super([arguments]); // calls the parent constructor. super.functionOnParent([arguments]);
diff --git a/files/zh-cn/web/javascript/guide/working_with_objects/index.html b/files/zh-cn/web/javascript/guide/working_with_objects/index.html index 2b566222eaa48e..0393978dcec2a5 100644 --- a/files/zh-cn/web/javascript/guide/working_with_objects/index.html +++ b/files/zh-cn/web/javascript/guide/working_with_objects/index.html @@ -152,12 +152,12 @@

使用对象初始化器

if (cond) var x = {hi: "there"};
 
-

下例创建了有三个属性的 myHonda 对象。注意它的 engine 属性也是一个拥有自己属性的对象。

+

下例创建了有三个属性的 myHonda 对象。注意它的 engine 属性也是一个拥有自己属性的对象。

var myHonda = {color: "red", wheels: 4, engine: {cylinders: 4, size: 2.2}};
 
-

你也可以用对象初始化器来创建数组。参见 {{ web.link("Values%2C_variables%2C_and_literals#Array_literals", "array literals") }}.

+

你也可以用对象初始化器来创建数组。参见数组字面量

在 JavaScript 1.1 及更早版本中,你不能使用对象初始化器。你只能通过使用构造函数或其他对象的函数来创建对象。参见 使用构造函数.

@@ -239,7 +239,7 @@

使用构造函数

使用 Object.create 方法

-

对象也可以用 {{jsxref("Object.create()")}} 方法创建。该方法非常有用,因为它允许你为创建的对象选择一个原型对象,而不用定义构造函数。

+

对象也可以用 {{jsxref("Object.create()")}} 方法创建。该方法非常有用,因为它允许你为创建的对象选择一个原型对象,而不用定义构造函数。

// Animal properties and method encapsulation
 var Animal = {
@@ -259,8 +259,6 @@ 

使用 Object.create 方法

fish.displayType(); // Output:Fishes
-

该函数更多的信息及详细用法,参见 {{ web.link("/zh-CN/docs/JavaScript/Reference/Global_Objects/Object/create", "Object.create method") }}

-

继承

所有的 JavaScript 对象至少继承于一个对象。被继承的对象被称作原型,并且继承的属性可通过构造函数的 prototype 对象找到。查看更多详细 Inheritance and the prototype chain

@@ -459,7 +457,7 @@

定义 getters 与 setters<

删除属性

-

你可以用 delete 操作符删除一个不是继承而来的属性。下面的例子说明如何删除一个属性:

+

你可以用 delete 操作符删除一个不是继承而来的属性。下面的例子说明如何删除一个属性:

//Creates a new object, myobj, with two properties, a and b.
 var myobj = new Object;
@@ -470,14 +468,12 @@ 

删除属性

delete myobj.a;
-

如果一个全局变量不是用 var 关键字声明的话,你也可以用 delete 删除它:

+

如果一个全局变量不是用 var 关键字声明的话,你也可以用 delete 删除它:

g = 17;
 delete g;
 
-

参见{{ web.link("Expressions_and_operators#delete", "delete") }} 以获取更多信息。

-

比较对象

在 JavaScript 中 objects 是一种引用类型。两个独立声明的对象永远也不会相等,即使他们有相同的属性,只有在比较一个对象和这个对象的引用时,才会返回 true.

diff --git a/files/zh-tw/web/javascript/guide/expressions_and_operators/index.html b/files/zh-tw/web/javascript/guide/expressions_and_operators/index.html index c0972142ee2ce2..0b7d981b76d681 100644 --- a/files/zh-tw/web/javascript/guide/expressions_and_operators/index.html +++ b/files/zh-tw/web/javascript/guide/expressions_and_operators/index.html @@ -14,16 +14,16 @@

運算子

JavaScript 有以下幾種運算子。 此處將描述運算子以及一些運算子的優先順序。

JavaScript 同時具有二元運算子及一元運算子, 以及一種特殊的 三元運算子,也就是 條件運算子。 一個二元運算子需要具備兩個運算元, 一個在運算元之前,一個在運算元之後:

@@ -522,7 +522,7 @@

條件(三元)運算子

這個陳述句會將 "成人" 賦與給變數 status 假如 age 大於等於18。 否則,會將 "小孩" 賦與給變數 status

-

逗號運算子

+

逗號運算子

逗點運算子 (,) 作用是解析兩個運算元並回傳後面那個運算元的值。 這個運算子通常用於for迴圈內部,讓多個變數能在每次迴圈中被更新。

@@ -823,9 +823,9 @@

運算式

JavaScript 運算式有下列幾種種類:

    -
  • 算術: 解析出數字, 例如 3.14159. (通常使用 {{ web.link("#Arithmetic_operators", "算術運算子") }}.)
  • -
  • 字串: 解析出字串, 例如 "Fred" or "234"。 (通常使用 {{ web.link("#String_operators", "字串運算子") }}.)
  • -
  • 邏輯: 解析出 True 或 False (通常與 {{ web.link("#Logical_operators", "邏輯運算子") }} 相關。)
  • +
  • 算術: 解析出數字, 例如 3.14159。(通常使用算術運算子。)
  • +
  • 字串: 解析出字串, 例如 "Fred" or "234"。(通常使用字串運算子。)
  • +
  • 邏輯: 解析出 True 或 False(通常與邏輯運算子相關。)
  • 主流運算式: JavaScript 基本的關鍵字及運算式。
  • 左側運算式: 左側是指定值的對象。
diff --git a/files/zh-tw/web/javascript/guide/functions/index.html b/files/zh-tw/web/javascript/guide/functions/index.html index b2b28a2cffc861..ec19ca6c3148bd 100644 --- a/files/zh-tw/web/javascript/guide/functions/index.html +++ b/files/zh-tw/web/javascript/guide/functions/index.html @@ -299,12 +299,12 @@

Predefined functions

JavaScript has several top-level predefined functions:

    -
  • {{ web.link("#eval_function", "eval") }}
  • -
  • {{ web.link("#isFinite_function", "isFinite") }}
  • -
  • {{ web.link("#isNaN_function", "isNaN") }}
  • -
  • {{ web.link("#parseInt_and_parseFloat_functions", "parseInt and parseFloat") }}
  • -
  • {{ web.link("#Number_and_String_functions", "Number and String") }}
  • -
  • {{ web.link("#escape_and_unescape_functions", "encodeURI, decodeURI, encodeURIComponent, and decodeURIComponent") }} (all available with Javascript 1.5 and later).
  • +
  • eval
  • +
  • isFinite
  • +
  • isNaN
  • +
  • parseInt and parseFloat
  • +
  • Number and String
  • +
  • encodeURI, decodeURI, encodeURIComponent, and decodeURIComponent (all available with Javascript 1.5 and later).

The following sections introduce these functions. See the JavaScript Reference for detailed information on all of these functions.

diff --git a/files/zh-tw/web/javascript/guide/regular_expressions/index.html b/files/zh-tw/web/javascript/guide/regular_expressions/index.html index 8f71bd3c10a5d8..eba0df321ca6a5 100644 --- a/files/zh-tw/web/javascript/guide/regular_expressions/index.html +++ b/files/zh-tw/web/javascript/guide/regular_expressions/index.html @@ -32,7 +32,7 @@

建立正規表達式

撰寫正規表達模式

-

正規表達模式由數個簡易字元組成,例如 /abc/,或是由簡易字元及特殊符號組合而成,例如 /ab*c//Chapter (\d+)\.\d*/ )。最後一個範例用到了括號,這在正規表達式中用作記憶組,使用括號的匹配將會被留到後面使用,在 {{ web.link("#Using_Parenthesized_Substring_Matches", "使用帶括號的配對子字串 Using Parenthesized Substring Matches") }} 有更多解釋。

+

正規表達模式由數個簡易字元組成,例如 /abc/,或是由簡易字元及特殊符號組合而成,例如 /ab*c//Chapter (\d+)\.\d*/ )。最後一個範例用到了括號,這在正規表達式中用作記憶組,使用括號的匹配將會被留到後面使用,在使用帶括號的配對子字串有更多解釋。

使用簡易模式

@@ -367,7 +367,7 @@

使用特殊字元

使用括號 

-

Parentheses around any part of the regular expression pattern causes that part of the matched substring to be remembered. Once remembered, the substring can be recalled for other use, as described in {{ web.link("#Using_parenthesized_substring_matches", "Using Parenthesized Substring Matches") }}.

+

Parentheses around any part of the regular expression pattern causes that part of the matched substring to be remembered. Once remembered, the substring can be recalled for other use, as described in Using Parenthesized Substring Matches.

For example, the pattern /Chapter (\d+)\.\d*/ illustrates additional escaped and special characters and indicates that part of the pattern should be remembered. It matches precisely the characters 'Chapter ' followed by one or more numeric characters (\d means any numeric character and + means 1 or more times), followed by a decimal point (which in itself is a special character; preceding the decimal point with \ means the pattern must look for the literal character '.'), followed by any numeric character 0 or more times (\d means numeric character, * means 0 or more times). In addition, parentheses are used to remember the first matched numeric characters.

@@ -473,7 +473,7 @@

運用正規表達式

myRe lastIndex - The index at which to start the next match. (This property is set only if the regular expression uses the g option, described in {{ web.link("#Advanced_searching_with_flags", "Advanced Searching With Flags") }}.) + The index at which to start the next match. (This property is set only if the regular expression uses the g option, described in Advanced Searching With Flags.) 5