From 6ca84f1794af830ada9736d7289ce29aabb04ca3 Mon Sep 17 00:00:00 2001 From: t7yang Date: Mon, 10 Jan 2022 08:38:05 +0800 Subject: remove `notranslate` class in zh-TW --- .../guide/expressions_and_operators/index.html | 86 +++++++++++----------- .../javascript/guide/numbers_and_dates/index.html | 28 +++---- 2 files changed, 57 insertions(+), 57 deletions(-) (limited to 'files/zh-tw/web/javascript/guide') 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 2792b5682a..c4a1dd74e6 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 @@ -28,19 +28,19 @@ translation_of: Web/JavaScript/Guide/Expressions_and_Operators

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

-
運算元1 運算子 運算元2
+
運算元1 運算子 運算元2
 

例如, 3+4x*y.

一個 一元運算子 需要一個運算元, 位於運算子之前或之後:

-
運算子 運算元
+
運算子 運算元
 

-
運算元 運算子
+
運算元 運算子
 

例如, x++++x.

@@ -133,7 +133,7 @@ translation_of: Web/JavaScript/Guide/Expressions_and_Operators

為了進行更複雜的賦值,解構賦值是 JavaScript 用來從陣列或物件中提取資料的語法。

-
var foo = ['one', 'two', 'three'];
+
var foo = ['one', 'two', 'three'];
 
 // 不使用解構
 var one   = foo[0];
@@ -147,7 +147,7 @@ var [one, two, three] = foo;

比較運算子 會比較 運算元 並基於比較的結果回傳邏輯值。 運算元可以是數字,字串,邏輯,或物件的值。 字串的比較是基於字典序的, 使用 Unicode 的值。 在多數情況下,假如兩個運算元不具有相同型態, JavaScript 會嘗試將它們轉換成相同型態。這個行為通常是將運算元以數學形式對待。 在某些的轉換型態的例外中會使用到 ===!== 運算子, 它們會嚴格地進行相等或不相等的比較。 這些運算子不會在確認相等與否前嘗試轉換運算元的型態。 下面的表解釋了比較運算子:

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

算術運算子 以 數值 (文字或變數也可以)作為其運算元,並回傳單一數值。最常見的算術運算元是 加法 (+),減法 (-), 乘法 (*),及除法 (/)。 這些運算子在大多數程式語言中功能相同 (比較特別的是,在除數為0時 {{jsxref("Infinity")}})。例如:

-
1 / 2; // 0.5
+
1 / 2; // 0.5
 1 / 2 == 1.0 / 2.0; // 會是 true
 
@@ -331,7 +331,7 @@ var var2 = 4;
  • 運算元被轉換為32 bits 的整數以二進位形式表示 (0 和 1)。大於 32 bits 的數字將被捨棄多出來的位元。例如, 下列整數大於32個bit但是會被轉換為32個bit的整數: -
    轉換之前:  11100110111110100000000000000110000000000001
    +  
    轉換之前:  11100110111110100000000000000110000000000001
     轉換之後:              10100000000000000110000000000001
  • 第一個運算元中的每個bit分別對應到第二個運算元的每個bit: 第一個 bit 對 第一個 bit, 第二個 bit 對 第二個 bit, 以此類推。
  • @@ -453,7 +453,7 @@ var var2 = 4;

    下面是 && (邏輯 AND) 運算子 的範例。

    -
    var a1 =  true && true;     // t && t 回傳 true
    +
    var a1 =  true && true;     // t && t 回傳 true
     var a2 =  true && false;    // t && f 回傳 false
     var a3 = false && true;     // f && t 回傳 false
     var a4 = false && (3 == 4); // f && f 回傳 false
    @@ -464,7 +464,7 @@ var a7 = "Cat" && false;    // t && f 回傳 false
     
     

    下列是 || (邏輯 OR) 運算子的範例。

    -
    var o1 =  true || true;     // t || t 回傳 true
    +
    var o1 =  true || true;     // t || t 回傳 true
     var o2 = false || true;     // f || t 回傳 true
     var o3 =  true || false;    // t || f 回傳 true
     var o4 = false || (3 == 4); // f || f 回傳 false
    @@ -475,7 +475,7 @@ var o7 = 'Cat' || false;    // t || f 回傳 Cat
     
     

    下列是 ! (邏輯 NOT) 運算子的範例。

    -
    var n1 = !true;  // !t 回傳 false
    +
    var n1 = !true;  // !t 回傳 false
     var n2 = !false; // !f 回傳 true
     var n3 = !'Cat'; // !t 回傳 false
     
    @@ -497,27 +497,27 @@ var n3 = !'Cat'; // !t 回傳 false

    例如,

    -
    console.log('我的 ' + '字串'); // 會印出 字串 "我的字串"。
    +
    console.log('我的 ' + '字串'); // 會印出 字串 "我的字串"。

    簡化的設定運算子 += 也能用於串接字串。

    例如,

    -
    var mystring = '字';
    +
    var mystring = '字';
     mystring += '母'; // 得到 "字母" 並賦與給變數 mystring.

    條件(三元)運算子

    條件運算子 是 JavaScript 中唯一需要三個運算元的運算子。 這個運算子接受兩個運算元作為值且一個運算元作為條件。 語法是:

    -
    條件 ? 值1 : 值2
    +
    條件 ? 值1 : 值2
     

    如果 條件 為 true,運算子回傳 值1, 否則回傳 值2。 你可以在任何使用標準運算子的地方改用 條件運算子。

    例如,

    -
    var status = (age >= 18) ? '成人' : '小孩';
    +
    var status = (age >= 18) ? '成人' : '小孩';
     

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

    @@ -528,7 +528,7 @@ mystring += '母'; // 得到 "字母" 並賦與給變數 mystring.

    例如,假如 a 是一個有十個物件在裡面的二維陣列, 下面的程式中就使用了逗點運算子來同時更新兩個變數。 這段程式碼會印出陣列中所有對角線上的物件:

    -
    for (var i = 0, j = 9; i <= j; i++, j--)
    +
    for (var i = 0, j = 9; i <= j; i++, j--)
       console.log('a[' + i + '][' + j + ']= ' + a[i][j]);
     
    @@ -540,7 +540,7 @@ mystring += '母'; // 得到 "字母" 並賦與給變數 mystring.

    delete 運算子會刪除物件,物件的性質,或是陣列中指定 index 的物件。 語法是:

    -
    delete 物件名稱;
    +
    delete 物件名稱;
     delete 物件名稱.性質;
     delete 物件名稱[索引];
     delete 性質; // 只有在 with 陳述句中可以使用
    @@ -554,7 +554,7 @@ delete 性質; // 只有在 with 陳述句中可以使用
     
     

    假如 delete 運算子使用成功, 它會將物件 或是 物件的特性設定為 未定義。 delete 運算子會在運算成功時回傳 true ,失敗時回傳 false

    -
    x = 42;
    +
    x = 42;
     var y = 43;
     myobj = new Number();
     myobj.h = 4;    // 建立特性 h
    @@ -571,7 +571,7 @@ delete myobj;   // 回傳 true (在隱式宣告時可被刪除)
     
     

    當使用 delete 運算子刪除陣列中的一個元素後, 那個元素便不再存在於陣列中了。 在下面的程式中, trees[3] 被用 delete 移除了。然而, trees[3] 的記憶體位址仍可用並且會回傳 未定義。

    -
    var trees = ['redwood', 'bay', 'cedar', 'oak', 'maple'];
    +
    var trees = ['redwood', 'bay', 'cedar', 'oak', 'maple'];
     delete trees[3];
     if (3 in trees) {
       // 不會執行到這裡
    @@ -580,7 +580,7 @@ if (3 in trees) {
     
     

    假如你希望給予陣列元素 未定義 的值, 你可以直接使用 undefined 關鍵字而不是使用 delete 運算子。 下列範例中, trees[3] 被指定了 undefined, 然而陣列元素依然存在:

    -
    var trees = ['redwood', 'bay', 'cedar', 'oak', 'maple'];
    +
    var trees = ['redwood', 'bay', 'cedar', 'oak', 'maple'];
     trees[3] = undefined;
     if (3 in trees) {
       // 會執行這裡
    @@ -591,7 +591,7 @@ if (3 in trees) {
     
     

    typeof 運算子 能以下列任一方式使用:

    -
    typeof 運算元
    +
    typeof 運算元
     typeof (運算元)
     
    @@ -599,7 +599,7 @@ typeof (運算元)

    假設你定義了以下這些變數:

    -
    var myFun = new Function('5 + 2');
    +
    var myFun = new Function('5 + 2');
     var shape = 'round';
     var size = 1;
     var today = new Date();
    @@ -607,7 +607,7 @@ var today = new Date();
     
     

    typeof 運算子會回傳下列結果:

    -
    typeof myFun;       // 回傳 "function"
    +
    typeof myFun;       // 回傳 "function"
     typeof shape;       // 回傳 "string"
     typeof size;        // 回傳 "number"
     typeof today;       // 回傳 "object"
    @@ -616,26 +616,26 @@ typeof doesntExist; // 回傳 "undefined"
     
     

    對於 truenull關鍵字, typeof 運算子會回傳下列結果:

    -
    typeof true; // 回傳 "boolean"
    +
    typeof true; // 回傳 "boolean"
     typeof null; // 回傳 "object"
     

    對於字串或數字, typeof 運算子會回傳下列結果:

    -
    typeof 62;            // 回傳 "number"
    +
    typeof 62;            // 回傳 "number"
     typeof 'Hello world'; // 回傳 "string"
     

    對於特性,typeof 運算子會回傳 特性的值的類型:

    -
    typeof document.lastModified; // 回傳 "string"
    +
    typeof document.lastModified; // 回傳 "string"
     typeof window.length;         // 回傳 "number"
     typeof Math.LN2;              // 回傳 "number"
     

    對於 方法 及 函式, typeof 運算子會回傳下列結果:

    -
    typeof blur;        // 回傳 "function"
    +
    typeof blur;        // 回傳 "function"
     typeof eval;        // 回傳 "function"
     typeof parseInt;    // 回傳 "function"
     typeof shape.split; // 回傳 "function"
    @@ -643,7 +643,7 @@ typeof shape.split; // 回傳 "function"
     
     

    對於內建定義的物件, typeof 運算子會回傳下列結果:

    -
    typeof Date;     // 回傳 "function"
    +
    typeof Date;     // 回傳 "function"
     typeof Function; // 回傳 "function"
     typeof Math;     // 回傳 "object"
     typeof Option;   // 回傳 "function"
    @@ -654,7 +654,7 @@ typeof String;   // 回傳 "function"
     
     

    void 運算子 能以下列任一方式使用:

    -
    void (運算式)
    +
    void (運算式)
     void 運算式
     
    @@ -664,12 +664,12 @@ void 運算式

    下列範例是一個在點擊時甚麼都不做的超連結。 當使用者點擊連結時, void(0) 被解析為 未定義, 而甚麼都不會發生。

    -
    <a href="javascript:void(0)">點擊這裡,甚麼都不會發生</a>
    +
    <a href="javascript:void(0)">點擊這裡,甚麼都不會發生</a>
     

    下列範例是一個在使用者點擊時傳送表單的超連結。

    -
    <a href="javascript:void(document.form.submit())">
    +
    <a href="javascript:void(document.form.submit())">
     點擊以送出</a>

    關係運算子

    @@ -680,14 +680,14 @@ void 運算式

    in 運算子 在指定性質存在於物件中時回傳 true 。 語法是:

    -
    性質名稱 in 物件名稱
    +
    性質名稱 in 物件名稱
     

    性質名稱 可以是 字串或數字,或是陣列的索引, 且 物件名稱 是物件的名稱。

    下列範例示範了 in 運算子的一些用法。

    -
    // 陣列
    +
    // 陣列
     var trees = ['redwood', 'bay', 'cedar', 'oak', 'maple'];
     0 in trees;        // 回傳 true
     3 in trees;        // 回傳 true
    @@ -711,7 +711,7 @@ var mycar = { make: 'Honda', model: 'Accord', year: 1998 };
     
     

    instanceof 運算子 在 指定物件 具有 指定的物件型態 時回傳 true。 語法是:

    -
    物件名稱 instanceof 物件類型
    +
    物件名稱 instanceof 物件類型
     

    物件名稱 是用來與 物件類型 比較的物件的名字, 物件類型 是物件的類型, 例如 {{jsxref("Date")}} 或 {{jsxref("Array")}}。

    @@ -720,7 +720,7 @@ var mycar = { make: 'Honda', model: 'Accord', year: 1998 };

    例如,下列程式碼使用 instanceof 來判斷變數 theDay 是不是 Date 類型的物件。 因為 theDayDate 類型的物件, 所以if 陳述中的陳述句會被執行。

    -
    var theDay = new Date(1995, 12, 17);
    +
    var theDay = new Date(1995, 12, 17);
     if (theDay instanceof Date) {
       // 會被執行的陳述
     }
    @@ -838,13 +838,13 @@ if (theDay instanceof Date) {
     
     

    this 關鍵字 能取得當前所在物件。 一般而言, this 能取得呼叫處所在的物件。 你可以使用 點 或是 中括號 來取用該物件中的特性:

    -
    this['特性名稱']
    +
    this['特性名稱']
     this.特性名稱
     

    以下定義一個叫做 validate 的函式,比較物件中特性 value 與傳入的兩變數:

    -
    function validate(obj, lowval, hival){
    +
    function validate(obj, lowval, hival){
       if ((obj.value < lowval) || (obj.value > hival))
         console.log('不可用的值!');
     }
    @@ -852,7 +852,7 @@ this.特性名稱
     
     

    你可以在表單的 onChange event handler 中呼叫 validate 函式, 並以 this 來傳入表單的元素, 範例如下:

    -
    <p>請輸入一介於18 與 99 的數字:</p>
    +
    <p>請輸入一介於18 與 99 的數字:</p>
     <input type="text" name="age" size=3 onChange="validate(this, 18, 99);">
     
    @@ -860,7 +860,7 @@ this.特性名稱

    分組運算子 ( ) 控制了運算子的優先順序。 例如,你可以覆寫先乘除,後加減的優先順序,使其變成先加減,後乘除。

    -
    var a = 1;
    +
    var a = 1;
     var b = 2;
     var c = 3;
     
    @@ -890,7 +890,7 @@ a * c + b * c // 9
     
     

    解析在許多程式語言中都存在,允許你快速地基於現存陣列產生新的陣列,例如:

    -
    [for (i of [ 1, 2, 3 ]) i*i ];
    +
    [for (i of [ 1, 2, 3 ]) i*i ];
     // [ 1, 4, 9 ]
     
     var abc = [ 'A', 'B', 'C' ];
    @@ -905,14 +905,14 @@ var abc = [ 'A', 'B', 'C' ];
     
     

    你可以使用 new 運算子 來建立一個使用者自定義物件或內建物件的實例。 用法如下:

    -
    var 物件名稱 = new 物件型態([參數1, 參數2, ..., 參數N]);
    +
    var 物件名稱 = new 物件型態([參數1, 參數2, ..., 參數N]);
     

    super

    super 關鍵字 用於呼叫物件的父物件中的函式。 在使用 類別 來呼叫父類別的建構子時很實用,例如:

    -
    super([參數]); // 呼叫父物件的建構子.
    +
    super([參數]); // 呼叫父物件的建構子.
     super.父物件的函式([參數]);
     
    @@ -922,12 +922,12 @@ super.父物件的函式([參數]);

    範例: 現在你想要用已存在的一個陣列做為新的一個陣列的一部份,當字串常數不再可用而你必須使用指令式編程,也就是使用,一連串的 push, splice, concat,等等。 展開運算子能讓過程變得更加簡潔:

    -
    var parts = ['肩膀', '膝蓋'];
    +
    var parts = ['肩膀', '膝蓋'];
     var lyrics = ['頭', ...parts, '和', '腳趾'];

    相同的,展開運算子也適用於函式呼叫:

    -
    function f(x, y, z) { }
    +
    function f(x, y, z) { }
     var args = [0, 1, 2];
     f(...參數);
    diff --git a/files/zh-tw/web/javascript/guide/numbers_and_dates/index.html b/files/zh-tw/web/javascript/guide/numbers_and_dates/index.html index 88ed75fd3e..4bc86711c0 100644 --- a/files/zh-tw/web/javascript/guide/numbers_and_dates/index.html +++ b/files/zh-tw/web/javascript/guide/numbers_and_dates/index.html @@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Guide/Numbers_and_dates

    十進制數值

    -
    1234567890
    +
    1234567890
     42
     
     // 以零為開頭時要小心:
    @@ -36,7 +36,7 @@ translation_of: Web/JavaScript/Guide/Numbers_and_dates
     
     

    二進制數值以 0 為開頭並跟著一個大寫或小寫的英文字母 「B」 (0b 或 0B)。如果 0b 後面接著的數字不是 0 或 1,那會丟出 SyntaxError(語法錯誤): "Missing binary digits after 0b"。

    -
    var FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
    +
    var FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
     var FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
     var FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
    @@ -44,27 +44,27 @@ var FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607

    八進制數值以 0 為開頭。如果 0 後面的數字超出 0 到 7 這個範圍,將會被解析成十進制數值。

    -
    var n = 0755; // 493
    +
    var n = 0755; // 493
     var m = 0644; // 420
     

    Strict mode in ECMAScript 5 forbids octal syntax. Octal syntax isn't part of ECMAScript 5, but it's supported in all browsers by prefixing the octal number with a zero: 0644 === 420 and"\045" === "%". In ECMAScript 2015, octal numbers are supported if they are prefixed with 0o, e.g.: 

    -
    var a = 0o10; // ES2015: 8
    +
    var a = 0o10; // ES2015: 8
     

    十六進制數值

    十六進制數值以 0 為開頭並跟著一個大寫或小寫的英文字母 「X」(0x 或 0X)。如果 0b 後面接著的值超出範圍 (0123456789ABCDEF),那會丟出 SyntaxError(語法錯誤):"Identifier starts immediately after numeric literal"。

    -
    0xFFFFFFFFFFFFFFFFF // 295147905179352830000
    +
    0xFFFFFFFFFFFFFFFFF // 295147905179352830000
     0x123456789ABCDEF   // 81985529216486900
     0XA                 // 10
     

    指數運算

    -
    1E3   // 1000
    +
    1E3   // 1000
     2e6   // 2000000
     0.1e2 // 10
    @@ -72,7 +72,7 @@ var m = 0644; // 420

    The built-in {{jsxref("Number")}} object has properties for numerical constants, such as maximum value, not-a-number, and infinity. You cannot change the values of these properties and you use them as follows:

    -
    var biggestNum = Number.MAX_VALUE;
    +
    var biggestNum = Number.MAX_VALUE;
     var smallestNum = Number.MIN_VALUE;
     var infiniteNum = Number.POSITIVE_INFINITY;
     var negInfiniteNum = Number.NEGATIVE_INFINITY;
    @@ -196,12 +196,12 @@ var notANum = Number.NaN;
     
     

    The built-in {{jsxref("Math")}} object has properties and methods for mathematical constants and functions. For example, the Math object's PI property has the value of pi (3.141...), which you would use in an application as

    -
    Math.PI
    +
    Math.PI
     

    Similarly, standard mathematical functions are methods of Math. These include trigonometric, logarithmic, exponential, and other functions. For example, if you want to use the trigonometric function sine, you would write

    -
    Math.sin(1.56)
    +
    Math.sin(1.56)
     

    Note that all trigonometric methods of Math take arguments in radians.

    @@ -288,7 +288,7 @@ var notANum = Number.NaN;

    創建一個Date物件:

    -
    var dateObjectName = new Date([parameters]);
    +
    var dateObjectName = new Date([parameters]);
     

    在這裡創建一個名為dateObjectNameDate 物件;它可以是一個新的物件或是某個以存在的物件當中的屬性。

    @@ -328,7 +328,7 @@ var notANum = Number.NaN;

    舉例,假設你定義了一個日期如下:

    -
    var Xmas95 = new Date('December 25, 1995');
    +
    var Xmas95 = new Date('December 25, 1995');
     

    那 Xmas95.getMonth() 將會回傳 11, Xmas95.getFullYear() 會回傳 1995。

    @@ -337,7 +337,7 @@ var notANum = Number.NaN;

    For example, the following code displays the number of days left in the current year:

    -
    var today = new Date();
    +
    var today = new Date();
     var endYear = new Date(1995, 11, 31, 23, 59, 59, 999); // Set day and month
     endYear.setFullYear(today.getFullYear()); // Set year to this year
     var msPerDay = 24 * 60 * 60 * 1000; // Number of milliseconds per day
    @@ -349,7 +349,7 @@ var daysLeft = Math.round(daysLeft); //returns days left in the year
     
     

    The parse method is useful for assigning values from date strings to existing Date objects. For example, the following code uses parse and setTime to assign a date value to the IPOdate object:

    -
    var IPOdate = new Date();
    +
    var IPOdate = new Date();
     IPOdate.setTime(Date.parse('Aug 9, 1995'));
     
    @@ -357,7 +357,7 @@ IPOdate.setTime(Date.parse('Aug 9, 1995'));

    下面這個範例,JSClock() 這個函式將會以數位時鐘的格式回傳時間。

    -
    function JSClock() {
    +
    function JSClock() {
       var time = new Date();
       var hour = time.getHours();
       var minute = time.getMinutes();
    -- 
    cgit v1.2.3-54-g00ecf