From 12a899ab8540bc84f56a0dc6491be80a48499d49 Mon Sep 17 00:00:00 2001 From: t7yang Date: Mon, 10 Jan 2022 08:38:07 +0800 Subject: remove name attribute for zh-TW --- .../a_re-introduction_to_javascript/index.html | 32 +++++----- .../web/javascript/about_javascript/index.html | 6 +- .../control_flow_and_error_handling/index.html | 4 +- .../guide/details_of_the_object_model/index.html | 8 +-- .../guide/expressions_and_operators/index.html | 20 +++---- .../web/javascript/guide/introduction/index.html | 12 ++-- .../guide/regular_expressions/index.html | 70 +++++++++++----------- .../guide/working_with_objects/index.html | 2 +- .../reference/global_objects/array/index.html | 38 ++++++------ .../global_objects/array/isarray/index.html | 14 ++--- .../global_objects/array/reverse/index.html | 10 ++-- .../reference/global_objects/array/sort/index.html | 18 +++--- .../global_objects/json/stringify/index.html | 4 +- .../global_objects/object/assign/index.html | 2 +- .../reference/global_objects/string/index.html | 16 ++--- .../reference/operators/typeof/index.html | 6 +- .../reference/statements/for...in/index.html | 12 ++-- 17 files changed, 137 insertions(+), 137 deletions(-) (limited to 'files/zh-tw/web') diff --git a/files/zh-tw/web/javascript/a_re-introduction_to_javascript/index.html b/files/zh-tw/web/javascript/a_re-introduction_to_javascript/index.html index 8e437db632..fe062e2ba6 100644 --- a/files/zh-tw/web/javascript/a_re-introduction_to_javascript/index.html +++ b/files/zh-tw/web/javascript/a_re-introduction_to_javascript/index.html @@ -9,7 +9,7 @@ translation_of: Web/JavaScript/A_re-introduction_to_JavaScript ---

{{jsSidebar}}

-

介紹

+

介紹

為何需要重新介紹?因為 JavaScript 堪稱是全世界最被人誤解的程式語言。儘管 JavaScript 再怎麼的被嘲諷為小兒科,在它誤導人的簡潔下隱藏著強大的語言功能。2005 年是個許多知名 JavaScript 應用程式推出的年度,在在證明:更加瞭解這項科技對任何網頁開發者來說皆是重要的技能。

@@ -21,7 +21,7 @@ translation_of: Web/JavaScript/A_re-introduction_to_JavaScript

與其他程式語言大大不同的是,JavaScript 沒有任何輸入或輸出的觀念。它是被設計成在一個宿主 (host) 環境下執行的腳本 (script) 語言,所以任何與外界通訊的方式,都是宿主環境的責任。瀏覽器是最常見的宿主環境,不過有些程式也有 JavaScript 解釋器,如 Adobe Acrobat、Photoshop、以及 Yahoo! Widget Engine 等等。

-

概要

+

概要

先從任何語言最基本的方面講起:型態 (type)。JavaScript 程式可以改變「值」(value),而這些值各自有其歸屬的型態。JavaScript 的型態有:

@@ -53,7 +53,7 @@ translation_of: Web/JavaScript/A_re-introduction_to_JavaScript

其實也有內建的 Error (錯誤)類型,不過,先把重點放在上面的分佈表比較容易。

-

數字

+

數字

根據規格,JavaScript 數字算是「雙精確度 64 位元格式 IEEE 754 值」("double-precision 64-bit format IEEE 754 values")。這能造成一些有趣的後果。JavaScript 沒有所謂的整數,所以你在做算術的時候得小心一點,尤其是假如你習慣了 C 或 Java 的數學。小心類似下的的事情:

@@ -114,7 +114,7 @@ Infinity -Infinity -

字串

+

字串

JavaScript 的字串是一序列的字元。更精確的說,是一序列的 Unicode 字元,每個字元皆以一個 16 位元的數字作為代表。這讓任何人不需要為國際化感到擔心。

@@ -136,7 +136,7 @@ goodbye, world HELLO -

其他類型

+

其他類型

JavaScript 對下列兩者是有分別的:null (空),屬於「object」型態的一種物件,用以明言表示無數值,以及 undefined (無定義),屬於「undefined」類型的一種物件,用以表示未初始化的值,也就是說,根本還沒指定數值。雖然姑且先不論變數,但在 JavaScript 你可以宣告一個變數但不指定其值。如果你這麼做的話,那該變數的型態便是 undefined

@@ -159,7 +159,7 @@ true

JavaScript 支援布林運算,如 && (邏輯「」,英稱 and)、|| (邏輯「」,英稱 or)、以及 ! (邏輯「」,英稱 not),請見下。

-

變數

+

變數

在 JavaScript,要宣告新變數,使用的是 var 關鍵字:

@@ -169,7 +169,7 @@ var name = "simon";

如果你宣告一個變數但不指定任何值,其型態便為 undefined (未定義)。 應該注意關於 JS 的區塊不會構成新變數作用域

-

運算子

+

運算子

JavaScript 的數字運算子有 +-*/、以及 % - 最後一個是取餘數的運算子(英稱 mod)。用來指定值的運算子是 =,另外還有複合指定陳述式,如 += 以及 -=。這些是用以延伸 x = x 運算子 y

@@ -215,7 +215,7 @@ true

假如你需要用的話,JavaScript 也有逐位元 (bitwise) 運算子

-

控制結構

+

控制結構

JavaScript 跟其他同屬 C 家族的程式語言有類似的控制結構。條件陳述式是靠 if 以及 else 來表示。如果你喜歡還可以串起來:

@@ -300,7 +300,7 @@ do { } -

物件

+

物件

JavaScript 物件是一系列的「名稱對數值組合」(name-value pair)。有鑑於此,它們和下列的東西很相近:

@@ -366,7 +366,7 @@ obj["for"] = "Simon"; //沒問題 12 -

陣列

+

陣列

JavaScript 的陣列其實是一種特殊的物件。它們的運作方式跟正常的物件很像(數字性的屬性只能透過 [] 語法進行存取),不過有個神奇的屬性,叫做「length」(長度)。這個屬性一定是陣列最高索引數加一。

@@ -464,7 +464,7 @@ a.sort(cmpfn), a.splice(start, delcount, [item]..), a.unshift([item]..)
  • unshift 會在開頭加入一或多個項目
  • -

    函式

    +

    函式

    如同物件,函式 (function) 是瞭解 JavaScript 的核心元件。最基本的函式再簡單不過了:

    @@ -606,7 +606,7 @@ NaN // undefined 不能進行加法 2 -

    自訂物件

    +

    自訂物件

    就典型的物件導向程式設計而言,物件是資料 (data) 以及運算該資料的方法 (method) 所構成的集合體 (collection)。我們以一個含有姓與名兩個欄位的「person」(人)物件來做為例子。在英文,一個人的姓名有兩種寫法:「名 姓」或「姓, 名」。利用之前探討的函式與物件,寫法如下:

    @@ -776,7 +776,7 @@ s.lastNameCaps = lastNameCaps; s.lastNameCaps(); -

    巢狀函式

    +

    巢狀函式

    JavaScript 函式宣告可以放在其他函式內。我們之前有在 makePerson() 函式見過這個。巢狀函式的一樣重要的功能是:它們可以存取其母函式 (parent function) 的領域 (scope) 內的變數:

    @@ -793,7 +793,7 @@ s.lastNameCaps();

    這也能反制全域變數 (global variable) 的誘惑。在撰寫複雜的程式碼的時候,常常會有想利用全域變數來在多個函式之間傳遞數值的這種誘惑--但這麼做,便會導致程式碼非常難以維護。巢狀函式可與其母函式一起共用變數,因此你可以用這個原理來在適當的時機將好幾個函式配在一起,而不用「汙染」全域命名空間 (global namespace)--這可以稱做「本地變數」 (local variable)。使用此技巧時應當小心,不過,此技巧相當有用。

    -

    閉包

    +

    閉包

    接著我們介紹一種十分強大卻也常使人困惑的機制:閉包 (closure)。在解釋之前,我們先看看下面這段程式,猜猜執行的結果是什麼。

    @@ -822,7 +822,7 @@ y(7)

    簡單地做個結論,閉包是作用域物件和一個函式的組合,反映了其被創造之時的狀態。閉包允許你保留狀態,而這是很常用的功能。

    -

    記憶體流失

    +

    記憶體流失

    雖然閉包很方便,但卻容易在 IE 中造成記憶體流失。

    @@ -897,7 +897,7 @@ y(7)

    避免閉包還有另外一種方法:利用 window.onunload 事件消除相互參照。許多事件函示庫都會自動這麼做。

    -

    原始文件資訊

    +

    原始文件資訊

    -

    使用 match 回傳結果來建立陣列

    +

    使用 match 回傳結果來建立陣列

    在字串與正規表示式之間的比對結果會產生一個 javascript 陣列。此陣列內含關於比對資訊的屬性與元素。 這樣的陣列由{{jsxref("RegExp.exec")}}, {{jsxref("String.match")}}, 和 {{jsxref("String.replace")}} 所產生。參考以下範例和表格,會有助於說明這些屬性和元素:

    @@ -247,7 +247,7 @@ var myArray = myRe.exec('cdbBdbsbz'); -

    屬性

    +

    屬性

    Array.length
    @@ -258,7 +258,7 @@ var myArray = myRe.exec('cdbBdbsbz');
    可加入屬性至所有陣列物件。
    -

    方法

    +

    方法

    {{jsxref("Array.from()")}}
    @@ -269,25 +269,25 @@ var myArray = myRe.exec('cdbBdbsbz');
    用可變數量的引數來建立新的 Array 實例,不論引數的數量或型別。
    -

    Array 實例

    +

    Array 實例

    所有的陣列實例都繼承自 {{jsxref("Array.prototype")}}。若修改這個陣列建構子 (Array constructor) 的原型物件 (prototype object),將會影響所有的陣列實體。

    -

    屬性

    +

    屬性

    {{page('/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Properties')}}
    -

    方法

    +

    方法

    -

    Mutator methods

    +

    Mutator methods

    {{page('zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Mutator_methods')}}
    -

    Accessor methods

    +

    Accessor methods

    {{page('zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Accessor_methods')}}
    -

    Iteration methods

    +

    Iteration methods

    {{page('zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Iteration_methods')}}
    @@ -324,9 +324,9 @@ if (Array.prototype.every.call(str, isLetter)) { } -

    範例

    +

    範例

    -

    範例:建立陣列

    +

    範例:建立陣列

    以下範例會產生長度為 0 的 msgArray 陣列,然後指派字串值到 msgArray[0]msgArray[99],使陣列的長度變為 100。

    @@ -339,7 +339,7 @@ if (msgArray.length === 100) { } -

    建立二維陣列

    +

    建立二維陣列

    以下範例會用字串產生一張西洋棋盤的二維陣列。第一步是將士兵 'p' 從 (6,4) 移動至 (4,4),然後清空原本的位置 (6,4)。

    @@ -408,7 +408,7 @@ console.table(values)

    (第一欄為索引)

    -

    規範

    +

    規範

    @@ -440,13 +440,13 @@ console.table(values)
    -

    瀏覽器相容性

    +

    瀏覽器相容性

    {{Compat("javascript.builtins.Array")}}

    -

    參見

    +

    參見