diff options
17 files changed, 137 insertions, 137 deletions
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 --- <p>{{jsSidebar}}</p> -<h2 id="介紹">介紹</h2> +<h2 id=介紹>介紹</h2> <p>為何需要重新介紹?因為 <a href="/zh_tw/JavaScript" title="zh_tw/JavaScript">JavaScript</a> 堪稱是<a class="external" href="http://javascript.crockford.com/javascript.html">全世界最被人誤解的程式語言</a>。儘管 JavaScript 再怎麼的被嘲諷為小兒科,在它誤導人的簡潔下隱藏著強大的語言功能。2005 年是個許多知名 JavaScript 應用程式推出的年度,在在證明:更加瞭解這項科技對任何網頁開發者來說皆是重要的技能。</p> @@ -21,7 +21,7 @@ translation_of: Web/JavaScript/A_re-introduction_to_JavaScript <p>與其他程式語言大大不同的是,JavaScript 沒有任何輸入或輸出的觀念。它是被設計成在一個宿主 (host) 環境下執行的腳本 (script) 語言,所以任何與外界通訊的方式,都是宿主環境的責任。瀏覽器是最常見的宿主環境,不過有些程式也有 JavaScript 解釋器,如 Adobe Acrobat、Photoshop、以及 Yahoo! Widget Engine 等等。</p> -<h3 id=".E6.A6.82.E8.A6.81" name=".E6.A6.82.E8.A6.81">概要</h3> +<h3 id="概要">概要</h3> <p>先從任何語言最基本的方面講起:型態 (type)。JavaScript 程式可以改變「值」(value),而這些值各自有其歸屬的型態。JavaScript 的型態有:</p> @@ -53,7 +53,7 @@ translation_of: Web/JavaScript/A_re-introduction_to_JavaScript <p>其實也有內建的 <a href="/zh_tw/Core_JavaScript_1.5_Reference/Global_Objects/Error" title="zh_tw/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a> (錯誤)類型,不過,先把重點放在上面的分佈表比較容易。</p> -<h3 id=".E6.95.B8.E5.AD.97" name=".E6.95.B8.E5.AD.97">數字</h3> +<h3 id="數字">數字</h3> <p>根據規格,JavaScript 數字算是「雙精確度 64 位元格式 IEEE 754 值」("double-precision 64-bit format IEEE 754 values")。這能造成一些有趣的後果。JavaScript 沒有所謂的整數,所以你在做算術的時候得小心一點,尤其是假如你習慣了 C 或 Java 的數學。小心類似下的的事情:</p> @@ -114,7 +114,7 @@ Infinity -Infinity </pre> -<h3 id=".E5.AD.97.E4.B8.B2" name=".E5.AD.97.E4.B8.B2">字串</h3> +<h3 id="字串">字串</h3> <p>JavaScript 的字串是一序列的字元。更精確的說,是一序列的 <a href="/zh_tw/Core_JavaScript_1.5_Guide/Unicode" title="zh_tw/Core_JavaScript_1.5_Guide/Unicode">Unicode 字元</a>,每個字元皆以一個 16 位元的數字作為代表。這讓任何人不需要為國際化感到擔心。</p> @@ -136,7 +136,7 @@ goodbye, world HELLO </pre> -<h3 id=".E5.85.B6.E4.BB.96.E9.A1.9E.E5.9E.8B" name=".E5.85.B6.E4.BB.96.E9.A1.9E.E5.9E.8B">其他類型</h3> +<h3 id="其他類型">其他類型</h3> <p>JavaScript 對下列兩者是有分別的:<code>null</code> (空),屬於「object」型態的一種物件,用以明言表示無數值,以及 <code>undefined</code> (無定義),屬於「undefined」類型的一種物件,用以表示未初始化的值,也就是說,根本還沒指定數值。雖然姑且先不論變數,但在 JavaScript 你可以宣告一個變數但不指定其值。如果你這麼做的話,那該變數的型態便是 <code>undefined</code>。</p> @@ -159,7 +159,7 @@ true <p>JavaScript 支援布林運算,如 <code>&&</code> (邏輯「<em>與</em>」,英稱 <em>and</em>)、<code>||</code> (邏輯「<em>或</em>」,英稱 <em>or</em>)、以及 <code>!</code> (邏輯「<em>非</em>」,英稱 <em>not</em>),請見下。</p> -<h3 id=".E8.AE.8A.E6.95.B8" name=".E8.AE.8A.E6.95.B8">變數</h3> +<h3 id="變數">變數</h3> <p>在 JavaScript,要宣告新變數,使用的是 <code><a href="/zh_tw/Core_JavaScript_1.5_Reference/Statements/var" title="zh_tw/Core_JavaScript_1.5_Reference/Statements/var">var</a></code> 關鍵字:</p> @@ -169,7 +169,7 @@ var name = "simon"; <p>如果你宣告一個變數但不指定任何值,其型態便為 <code>undefined</code> (未定義)。 應該注意關於 JS 的區塊不會構成新變數作用域</p> -<h3 id=".E9.81.8B.E7.AE.97.E5.AD.90" name=".E9.81.8B.E7.AE.97.E5.AD.90">運算子</h3> +<h3 id="運算子">運算子</h3> <p>JavaScript 的數字運算子有 <code>+</code>、<code>-</code>、<code>*</code>、<code>/</code>、以及 <code>%</code> - 最後一個是取餘數的運算子(英稱 <em>mod</em>)。用來指定值的運算子是 <code>=</code>,另外還有複合指定陳述式,如 <code>+=</code> 以及 <code>-=</code>。這些是用以延伸 <code>x = x <em>運算子</em> y</code>。</p> @@ -215,7 +215,7 @@ true <p>假如你需要用的話,JavaScript 也有<a href="/zh_tw/Core_JavaScript_1.5_Reference/Operators/Bitwise_Operators" title="zh_tw/Core_JavaScript_1.5_Reference/Operators/Bitwise_Operators">逐位元 (bitwise) 運算子</a>。</p> -<h3 id=".E6.8E.A7.E5.88.B6.E7.B5.90.E6.A7.8B" name=".E6.8E.A7.E5.88.B6.E7.B5.90.E6.A7.8B">控制結構</h3> +<h3 id="控制結構">控制結構</h3> <p>JavaScript 跟其他同屬 C 家族的程式語言有類似的控制結構。條件陳述式是靠 <code>if</code> 以及 <code>else</code> 來表示。如果你喜歡還可以串起來:</p> @@ -300,7 +300,7 @@ do { } </pre> -<h3 id=".E7.89.A9.E4.BB.B6" name=".E7.89.A9.E4.BB.B6">物件</h3> +<h3 id="物件">物件</h3> <p>JavaScript 物件是一系列的「名稱對數值組合」(name-value pair)。有鑑於此,它們和下列的東西很相近:</p> @@ -366,7 +366,7 @@ obj["for"] = "Simon"; //沒問題 12 </pre> -<h3 id=".E9.99.A3.E5.88.97" name=".E9.99.A3.E5.88.97">陣列</h3> +<h3 id="陣列">陣列</h3> <p>JavaScript 的陣列其實是一種特殊的物件。它們的運作方式跟正常的物件很像(數字性的屬性只能透過 [] 語法進行存取),不過有個神奇的屬性,叫做「length」(長度)。這個屬性一定是陣列最高索引數加一。</p> @@ -464,7 +464,7 @@ a.sort(cmpfn), a.splice(start, delcount, [item]..), a.unshift([item]..) <li><code>unshift</code> 會在開頭加入一或多個項目</li> </ul> -<h3 id=".E5.87.BD.E5.BC.8F" name=".E5.87.BD.E5.BC.8F">函式</h3> +<h3 id="函式">函式</h3> <p>如同物件,函式 (function) 是瞭解 JavaScript 的核心元件。最基本的函式再簡單不過了:</p> @@ -606,7 +606,7 @@ NaN // undefined 不能進行加法 2 </pre> -<h3 id=".E8.87.AA.E8.A8.82.E7.89.A9.E4.BB.B6" name=".E8.87.AA.E8.A8.82.E7.89.A9.E4.BB.B6">自訂物件</h3> +<h3 id="自訂物件">自訂物件</h3> <p>就典型的物件導向程式設計而言,物件是資料 (data) 以及運算該資料的方法 (method) 所構成的集合體 (collection)。我們以一個含有姓與名兩個欄位的「person」(人)物件來做為例子。在英文,一個人的姓名有兩種寫法:「名 姓」或「姓, 名」。利用之前探討的函式與物件,寫法如下:</p> @@ -776,7 +776,7 @@ s.lastNameCaps = lastNameCaps; s.lastNameCaps(); </pre> -<h3 id=".E5.B7.A2.E7.8B.80.E5.87.BD.E5.BC.8F" name=".E5.B7.A2.E7.8B.80.E5.87.BD.E5.BC.8F">巢狀函式</h3> +<h3 id="巢狀函式">巢狀函式</h3> <p>JavaScript 函式宣告可以放在其他函式內。我們之前有在 <code>makePerson()</code> 函式見過這個。巢狀函式的一樣重要的功能是:它們可以存取其母函式 (parent function) 的領域 (scope) 內的變數:</p> @@ -793,7 +793,7 @@ s.lastNameCaps(); <p>這也能反制全域變數 (global variable) 的誘惑。在撰寫複雜的程式碼的時候,常常會有想利用全域變數來在多個函式之間傳遞數值的這種誘惑--但這麼做,便會導致程式碼非常難以維護。巢狀函式可與其母函式一起共用變數,因此你可以用這個原理來在適當的時機將好幾個函式配在一起,而不用「汙染」全域命名空間 (global namespace)--這可以稱做「本地變數」 (local variable)。使用此技巧時應當小心,不過,此技巧相當有用。</p> -<h3 id="Closures" name="Closures">閉包</h3> +<h3 id="閉包">閉包</h3> <p>接著我們介紹一種十分強大卻也常使人困惑的機制:閉包 (closure)。在解釋之前,我們先看看下面這段程式,猜猜執行的結果是什麼。</p> @@ -822,7 +822,7 @@ y(7) <p>簡單地做個結論,閉包是作用域物件和一個函式的組合,反映了其被創造之時的狀態。閉包允許你保留狀態,而這是很常用的功能。</p> -<h3 id="Memory_leaks" name="Memory_leaks">記憶體流失</h3> +<h3 id="記憶體流失">記憶體流失</h3> <p>雖然閉包很方便,但卻容易在 IE 中造成記憶體流失。</p> @@ -897,7 +897,7 @@ y(7) <p>避免閉包還有另外一種方法:利用 <code>window.onunload</code> 事件消除相互參照。許多事件函示庫都會自動這麼做。</p> <div class="originaldocinfo"> -<h2 id=".E5.8E.9F.E5.A7.8B.E6.96.87.E4.BB.B6.E8.B3.87.E8.A8.8A" name=".E5.8E.9F.E5.A7.8B.E6.96.87.E4.BB.B6.E8.B3.87.E8.A8.8A">原始文件資訊</h2> +<h2 id="原始文件資訊">原始文件資訊</h2> <ul> <li>作者:<a class="external" href="http://simon.incutio.com/">Simon Willison</a></li> diff --git a/files/zh-tw/web/javascript/about_javascript/index.html b/files/zh-tw/web/javascript/about_javascript/index.html index 2e0c6d5bb8..bd1d7f54f5 100644 --- a/files/zh-tw/web/javascript/about_javascript/index.html +++ b/files/zh-tw/web/javascript/about_javascript/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/About_JavaScript --- <div>{{JsSidebar}}</div> -<h2 id="What_is_JavaScript.3F" name="What_is_JavaScript.3F">什麼是 JavaScript?</h2> +<h2 id="What_is_JavaScript.3F">什麼是 JavaScript?</h2> <p>JavaScript<sup>®</sup> 是被用在上百萬的網頁和伺服器應用程式的一種網景開發物件腳本語言。Netscape's JavaScript 是 ECMA-262 Edition 3 (<a href="/en-US/docs/JavaScript/Language_Resources" title="ECMAScript">ECMAScript</a>)的基礎標準腳本語言,兩者之間從公佈的標準只有輕微的差異。</p> @@ -19,7 +19,7 @@ translation_of: Web/JavaScript/About_JavaScript <p>更深入討論 JavaScript 編程遵循下面的 JavaScript 資源</p> -<h2 id="What_JavaScript_implementations_are_available.3F" name="What_JavaScript_implementations_are_available.3F">JavaScript的應用有哪些?</h2> +<h2 id="What_JavaScript_implementations_are_available.3F">JavaScript的應用有哪些?</h2> <p>mozilla.org 主持兩個 JavaScript 應用。有史以來第一次創建 JavaScript 是在 Netscape 的布倫丹·艾希,並已被更新(在 JavaScript1.5),以符合 ECMA-262第5版。這台發動機,代號為 SpiderMonkey 的,在C中實行。Rhino 引擎,主要由 Norris Boyd(也在網本)創建是在 Java 中的 JavaScript 實行。像 SpiderMonkey 一樣,Rhino 是ECMA-262第3版標準。</p> @@ -41,7 +41,7 @@ translation_of: Web/JavaScript/About_JavaScript <p>對於在自己的應用程序中嵌入 JavaScript 的詳細信息,下面的 SpiderMonkey 或 Rhino 鏈接下面,或訪問我們的上 netscape.public.mozilla.jseng 新</p> -<h2 id="JavaScript_resources" name="JavaScript_resources">JavaScript資源</h2> +<h2 id="JavaScript_resources">JavaScript資源</h2> <dl> <dt><a href="/en-US/docs/SpiderMonkey" title="SpiderMonkey">SpiderMonkey</a></dt> diff --git a/files/zh-tw/web/javascript/guide/control_flow_and_error_handling/index.html b/files/zh-tw/web/javascript/guide/control_flow_and_error_handling/index.html index 8ea2bc14cb..c140d1a991 100644 --- a/files/zh-tw/web/javascript/guide/control_flow_and_error_handling/index.html +++ b/files/zh-tw/web/javascript/guide/control_flow_and_error_handling/index.html @@ -274,7 +274,7 @@ catch (e) { } </pre> -<h4 id="The_catch_Block" name="The_catch_Block"><code>catch</code> 區塊</h4> +<h4 id="The_catch_Block"><code>catch</code> 區塊</h4> <p>你可以使用 <code>catch</code> 區塊來處理 <code>try</code> 區塊可能丟出的例外。</p> @@ -359,7 +359,7 @@ try { // 輸出 -> caught inner "bogus"</pre> -<h4 id="Nesting_try...catch_Statements" name="Nesting_try...catch_Statements">巢狀 try...catch 陳述式</h4> +<h4 id="Nesting_try...catch_Statements">巢狀 try...catch 陳述式</h4> <p>你可以使用一個或多個的 <code>try...catch</code> 陳述式。 假如一個內層的<code>try...catch</code> 陳述式不具有 <code>catch</code> 區塊, 它將必須要有 <code>finally</code> 區塊與及封閉的 <code>try...catch</code> 陳述式來檢測是否有符合的例外。</p> diff --git a/files/zh-tw/web/javascript/guide/details_of_the_object_model/index.html b/files/zh-tw/web/javascript/guide/details_of_the_object_model/index.html index ebdf409aba..ae69cc38f4 100644 --- a/files/zh-tw/web/javascript/guide/details_of_the_object_model/index.html +++ b/files/zh-tw/web/javascript/guide/details_of_the_object_model/index.html @@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Guide/Details_of_the_Object_Model <p>本文假設您已經有點 JavaScript 的基礎,並且用 JavaScript 的函數創建過簡單的物件。</p> -<h2 id="class-based_vs_prototype-based_languages" name="class-based_vs_prototype-based_languages">基於類 (Class-Based) 與 基於原型 (Prototype-Based) 語言的比較</h2> +<h2 id="class-based_vs_prototype-based_languages">基於類 (Class-Based) 與 基於原型 (Prototype-Based) 語言的比較</h2> <p>基於類的物件導向語言,比如 Java 和 C++,是建基於兩種概念之上:類和實例。</p> @@ -239,7 +239,7 @@ public class Engineer extends WorkerBee { <p>{{ note('術語 <em><em>實例(instance)</em></em>在 基於類的語言中具有特定的技術含義。在這些語言中,實例是指類的個體成員,與類有著根本性的不同。在 JavaScript 中,“實例”並不具有這種技術含義,因為 JavaScript 中不存在類和實例之間的這種差異。然而,在談論 JavaScript 時,“實例”可以非正式地用於表示用特定的建構函數創建的物件。所以,在這個例子中,你可以非正式地 <code>jane</code> 是 <code>Engineer</code> 的一個實例。與之類似,儘管術語<em>父(parent)</em>,<em>子(child)</em>,<em>祖先(ancestor)</em>,和<em>後代(descendant)</em>在 JavaScript 中並沒有正式的含義,您可以非正式地使用這些術語用於指代原型鏈中處於更高層次或者更低層次的物件。') }}</p> <p><img alt="figure8.3.png" class="default internal" id="figure8.3" src="/@api/deki/files/4403/=figure8.3.png"><br> - <a name="8.3"><small><strong>圖例 8.3:通過簡單的定義創建物件</strong></small></a></p> + <a><small><strong>圖例 8.3:通過簡單的定義創建物件</strong></small></a></p> <h2 id="物件的屬性">物件的屬性</h2> @@ -288,12 +288,12 @@ mark.projects = ["navigator"];</pre> <p><img alt="" class="internal" src="/@api/deki/files/4422/=figure8.4.png" style="height: 519px; width: 833px;"><br> <small><strong>Figure 8.4: Adding properties</strong></small></p> -<h2 id="more_flexible_constructors" name="more_flexible_constructors"><a name="更靈活的建構函數">更靈活的建構函數</a></h2> +<h2 id="more_flexible_constructors"><a>更靈活的建構函數</a></h2> <p>到目前為止所展現的建構函數不允許在創建新的實例時指定屬性值。正如 Java 一樣,可以為建構函數提供參數以便初始化實例的屬性值。下圖展現其中一種做法。</p> <p><img alt="" class="internal" src="/@api/deki/files/4423/=figure8.5.png" style="height: 481px; width: 1012px;"><br> - <a name="8.5"><small><strong>Figure 8.5: Specifying properties in a constructor, take 1</strong></small></a></p> + <a><small><strong>Figure 8.5: Specifying properties in a constructor, take 1</strong></small></a></p> <p>下面的表格中羅列了這些物件在 Java 和 JavaScript 中的定義。</p> 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 0dcf129b93..df48ec6e8f 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 @@ -325,7 +325,7 @@ var var2 = 4; </tbody> </table> -<h4 id="Bitwise_Logical_Operators" name="Bitwise_Logical_Operators">位元邏輯運算子</h4> +<h4 id="Bitwise_Logical_Operators">位元邏輯運算子</h4> <p>概念上,位元邏輯運算子運作過程如下:</p> @@ -380,7 +380,7 @@ var var2 = 4; <p>注意,在使用 位元NOT 運算子時, 所有的32個bit都被進行NOT了,包含最左邊用來描述正負數的位元(two's-complement representation)。</p> -<h4 id="Bitwise_Shift_Operators" name="Bitwise_Shift_Operators">位元移動運算子</h4> +<h4 id="Bitwise_Shift_Operators">位元移動運算子</h4> <p>位元移動運算子需要兩個運算元: 第一個是運算的目標,第二個是要移動的位元數。移動的方向取決於使用的運算子。</p> @@ -480,7 +480,7 @@ var n2 = !false; // !f 回傳 true var n3 = !'Cat'; // !t 回傳 false </pre> -<h4 id="Short-Circuit_Evaluation" name="Short-Circuit_Evaluation">短路解析</h4> +<h4 id="Short-Circuit_Evaluation">短路解析</h4> <p>邏輯運算式是由左向右解析的, 他們會以下列規則嘗試進行 短路解析:</p> @@ -522,7 +522,7 @@ mystring += '母'; // 得到 "字母" 並賦與給變數 mystring.</pre> <p>這個陳述句會將 "成人" 賦與給變數 <code>status</code> 假如 <code>age</code> 大於等於18。 否則,會將 "小孩" 賦與給變數 <code>status</code>。</p> -<h3 id="Comma_operator" name="Comma_operator">逗號運算子</h3> +<h3 id="Comma_operator">逗號運算子</h3> <p><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator">逗點運算子</a> (<code>,</code>) 作用是解析兩個運算元並回傳後面那個運算元的值。 這個運算子通常用於for迴圈內部,讓多個變數能在每次迴圈中被更新。</p> @@ -536,7 +536,7 @@ mystring += '母'; // 得到 "字母" 並賦與給變數 mystring.</pre> <p>一元運算 是只需要一個運算元的運算。</p> -<h4 id="delete" name="delete"><code>delete</code></h4> +<h4 id="delete"><code>delete</code></h4> <p><code><a href="/en-US/docs/Web/JavaScript/Reference/Operators/delete">delete</a></code> 運算子會刪除物件,物件的性質,或是陣列中指定 index 的物件。 語法是:</p> @@ -587,7 +587,7 @@ if (3 in trees) { } </pre> -<h4 id="typeof" name="typeof"><code>typeof</code></h4> +<h4 id="typeof"><code>typeof</code></h4> <p><a href="/en-US/docs/Web/JavaScript/Reference/Operators/typeof"><code>typeof</code> 運算子</a> 能以下列任一方式使用:</p> @@ -650,7 +650,7 @@ typeof Option; // 回傳 "function" typeof String; // 回傳 "function" </pre> -<h4 id="void" name="void"><code>void</code></h4> +<h4 id="void"><code>void</code></h4> <p><a href="/en-US/docs/Web/JavaScript/Reference/Operators/void"><code>void</code> 運算子 </a>能以下列任一方式使用:</p> @@ -707,7 +707,7 @@ var mycar = { make: 'Honda', model: 'Accord', year: 1998 }; 'model' in mycar; // 回傳 true </pre> -<h4 id="instanceof" name="instanceof"><code>instanceof</code></h4> +<h4 id="instanceof"><code>instanceof</code></h4> <p><a href="/en-US/docs/Web/JavaScript/Reference/Operators/instanceof"><code>instanceof</code> 運算子</a> 在 指定物件 具有 指定的物件型態 時回傳 true。 語法是:</p> @@ -834,7 +834,7 @@ if (theDay instanceof Date) { <p>JavaScript 基本的關鍵字及運算式。</p> -<h4 id="this" name="this"><code>this</code></h4> +<h4 id="this"><code>this</code></h4> <p><a href="/en-US/docs/Web/JavaScript/Reference/Operators/this"><code>this</code> 關鍵字</a> 能取得當前所在物件。 一般而言, <code>this</code> 能取得呼叫處所在的物件。 你可以使用 點 或是 中括號 來取用該物件中的特性:</p> @@ -901,7 +901,7 @@ var abc = [ 'A', 'B', 'C' ]; <p>左側是指定值的對象。</p> -<h4 id="new" name="new"><code>new</code></h4> +<h4 id="new"><code>new</code></h4> <p>你可以使用 <a href="/en-US/docs/Web/JavaScript/Reference/Operators/new"><code>new</code> 運算子</a> 來建立一個使用者自定義物件或內建物件的實例。 用法如下:</p> diff --git a/files/zh-tw/web/javascript/guide/introduction/index.html b/files/zh-tw/web/javascript/guide/introduction/index.html index 20a7650842..ae980e77b0 100644 --- a/files/zh-tw/web/javascript/guide/introduction/index.html +++ b/files/zh-tw/web/javascript/guide/introduction/index.html @@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Guide/Introduction <p> </p> -<h2 id="What_is_JavaScript.3F" name="What_is_JavaScript.3F">什麼是 JavaScript?</h2> +<h2 id="What_is_JavaScript.3F">什麼是 JavaScript?</h2> <p>JavaScript 是個跨平台、物件導向、輕小型的腳本語言。作為獨立語言並不實用,而是為了能簡單嵌入其他產品和應用程式(例如:網頁瀏覽器)而設計。JavaScript 若寄宿在主體環境(Host environment)時,可以與環境中的物件 (Object)相連,並以程式控制這些物件。</p> @@ -41,7 +41,7 @@ translation_of: Web/JavaScript/Guide/Introduction <p>Netscape 公司發明了 JavaScript ,而 JavaScript 的第一次使用正是在 Netscape 自家的瀏覽器上。</p> -<h2 id="JavaScript_and_Java" name="JavaScript_and_Java">JavaScript 與 Java</h2> +<h2 id="JavaScript_and_Java">JavaScript 與 Java</h2> <p>JavaScript 與 Java 在某些方面非常相似但本質上卻是不同的。 JavaScript 雖然和 Java 類似,卻沒有 Java 的靜態定型(static typing)及強型態確認(strong type checking)特性。 JavaScript 遵從大部份的 Java 表達式語法、命名傳統和基本的流程控制概念,這特性同時也是為何要將 LiveScript 重新命名為 JavaScript 的原因。</p> @@ -99,13 +99,13 @@ translation_of: Web/JavaScript/Guide/Introduction <p>更多關於 JavaScript 和 Java 的差異比較,請參見 <a href="/zh-TW/docs/JavaScript/Guide/Details_of_the_Object_Model" title="JavaScript/Guide/Details of the Object Model">Details of the Object Model</a> 。</p> -<h2 id="JavaScript_and_the_ECMAScript_Specification" name="JavaScript_and_the_ECMAScript_Specification">JavaScript 與 ECMAScript 規格</h2> +<h2 id="JavaScript_and_the_ECMAScript_Specification">JavaScript 與 ECMAScript 規格</h2> <p>Netscape 公司發明了 JavaScript ,而 JavaScript 的第一次應用正是在 Netscape 瀏覽器。然而,Netscape 後來和 <a class="external" href="http://www.ecma-international.org/">Ecma International</a>(一個致力於將資訊及通訊系統標準化的歐洲組織,前身為 ECMA - 歐洲計算機製造商協會)合作,開發一個基於 JavaScript 核心並同時兼具標準化與國際化的程式語言,這個經過標準化的 JavaScript 便稱作 ECMAScript ,和 JavaScript 有著相同的應用方式並支援相關標準。各個公司都可以使用這個開放的標準語言去開發 JavaScript 的專案。ECMAScript 標準記載於 ECMA-262 這個規格中。</p> <p>ECMA-262 標準同時也經過 <a class="external" href="http://www.iso.ch/">ISO</a>(國際標準化組織)認証,成為 ISO-16262 標準。你可以在 Mozilla 的網站上找到 <a class="external" href="http://www-archive.mozilla.org/js/language/E262-3.pdf" title="http://www-archive.mozilla.org/js/language/E262-3.pdf">PDF版本的ECMA-262</a>,但這板本已過期;你也可以在<a class="external" href="http://www.ecma-international.org/publications/standards/Ecma-262.htm"> Ecma International 的網站</a> 找到這個規格。 ECMAScript 規格中並沒有描述已經被 W3C(全球資訊網協會)標準化的文件物件模型(DOM)。文件物件模型定義了 HTML 文件物件(document objects)和腳本之間運作的方式。</p> -<h3 id="Relationship_between_JavaScript_Versions_and_ECMAScript_Editions" name="Relationship_between_JavaScript_Versions_and_ECMAScript_Editions">JavaScript 版本與 ECMAScript 版本之間的關係</h3> +<h3 id="Relationship_between_JavaScript_Versions_and_ECMAScript_Editions">JavaScript 版本與 ECMAScript 版本之間的關係</h3> <p>ECMAScript 規格(ECMA-262)在 Netscape 和 Ecma International 的密切合作下產生。下表描述了 JavaScript 的版本和 ECMAScript 的版本之間的關係。</p> @@ -162,13 +162,13 @@ translation_of: Web/JavaScript/Guide/Introduction <p>JavaScript 不僅相容於 ECMAScript 更提供了額外的特性。</p> -<h3 id="JavaScript_Documentation_versus_the_ECMAScript_Specification" name="JavaScript_Documentation_versus_the_ECMAScript_Specification">JavaScript 使用說明 v.s ECMAScript 規格</h3> +<h3 id="JavaScript_Documentation_versus_the_ECMAScript_Specification">JavaScript 使用說明 v.s ECMAScript 規格</h3> <p>ECMAScript 規格是執行 ECMAScript 所必須的條件,當你想判斷某個 JavaScript 的特性是否在其他 ECMAScript 實作中有被支援時,ECMAScript 規格是非常有用的。如果你打算撰寫 JavaScript 程式碼並在程式碼中使用僅有 ECMAScript 所支援的特性,那你可能需要查閱一下 ECMAScript 規格。</p> <p>ECMAScript 文件並不是為了幫助腳本程式設計師而撰寫,如果想知道撰寫腳本的相關資訊,請參考 JavaScript 使用說明。</p> -<h3 id="JavaScript_and_ECMAScript_Terminology" name="JavaScript_and_ECMAScript_Terminology">JavaScript 和 ECMAScript 的專門術語</h3> +<h3 id="JavaScript_and_ECMAScript_Terminology">JavaScript 和 ECMAScript 的專門術語</h3> <p>ECMAScript 規格使用的術語和語法對於 JavaScript 的程式設計師來說可能不是那麼的親切。雖然語言的描述在 ECMAScript 中可能會有所不同,但語言本身的性質仍然是不變的。JavaScript 支援所有在 ECMAScript 規格中被描述到的功能。</p> 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 f9b4235c2a..2d5983d163 100644 --- a/files/zh-tw/web/javascript/guide/regular_expressions/index.html +++ b/files/zh-tw/web/javascript/guide/regular_expressions/index.html @@ -54,7 +54,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </thead> <tbody> <tr> - <td><a href="#special-backslash" id="special-backslash" name="special-backslash"><code>\</code></a></td> + <td><a href="#special-backslash" id="special-backslash"><code>\</code></a></td> <td> <p>反斜線放在非特殊符號前面,使非特殊符號不會被逐字譯出,代表特殊作用。<br> 例如:'b' 如果沒有 '\' 在前頭,功能是找出小寫 b;若改為 '\b' 則代表的是邊界功能,block 用意。<br> @@ -70,7 +70,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-caret" id="special-caret" name="special-caret"><code>^</code></a></td> + <td><a href="#special-caret" id="special-caret"><code>^</code></a></td> <td> <p>匹配輸入的開頭,如果 multiline flag 被設為 true,則會匹配換行字元後。</p> @@ -80,7 +80,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-dollar" id="special-dollar" name="special-dollar"><code>$</code></a></td> + <td><a href="#special-dollar" id="special-dollar"><code>$</code></a></td> <td> <p>匹配輸入的結尾,如果 multiline flag 被設為 true,則會匹配換行字元。</p> @@ -88,7 +88,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-asterisk" id="special-asterisk" name="special-asterisk"><code>*</code></a></td> + <td><a href="#special-asterisk" id="special-asterisk"><code>*</code></a></td> <td> <p>匹配前一字元 0 至多次。<br> <br> @@ -99,7 +99,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-plus" id="special-plus" name="special-plus"><code>+</code></a></td> + <td><a href="#special-plus" id="special-plus"><code>+</code></a></td> <td> <p>匹配前一字元 1 至多次,等同於 <code>{1,}</code>。</p> @@ -107,7 +107,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-questionmark" id="special-questionmark" name="special-questionmark"><code>?</code></a></td> + <td><a href="#special-questionmark" id="special-questionmark"><code>?</code></a></td> <td> <p>匹配前一字元 0 至 1 次,等同於 <code>{0,1}</code>。</p> @@ -120,7 +120,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-dot" id="special-dot" name="special-dot"><code>.</code></a></td> + <td><a href="#special-dot" id="special-dot"><code>.</code></a></td> <td> <p>(小數點)匹配除了換行符號之外的單一字元。</p> @@ -128,7 +128,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-capturing-parentheses" id="special-capturing-parentheses" name="special-capturing-parentheses"><code>(x)</code></a></td> + <td><a href="#special-capturing-parentheses" id="special-capturing-parentheses"><code>(x)</code></a></td> <td> <p>Capturing Parentheses</p> @@ -141,7 +141,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-non-capturing-parentheses" id="special-non-capturing-parentheses" name="special-non-capturing-parentheses"><code>(?:x)</code></a></td> + <td><a href="#special-non-capturing-parentheses" id="special-non-capturing-parentheses"><code>(?:x)</code></a></td> <td> <p><em>Non-Capturing Parentheses</em></p> @@ -166,7 +166,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-lookahead" id="special-lookahead" name="special-lookahead"><code>x(?=y)</code></a></td> + <td><a href="#special-lookahead" id="special-lookahead"><code>x(?=y)</code></a></td> <td> <p>符合'x',且後接的是'y'。'y'為'x'存在的意義。<br> <br> @@ -175,7 +175,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-negated-look-ahead" id="special-negated-look-ahead" name="special-negated-look-ahead"><code>x(?!y)</code></a></td> + <td><a href="#special-negated-look-ahead" id="special-negated-look-ahead"><code>x(?!y)</code></a></td> <td> <p>符合'x',且後接的不是'y'。'y'為否定'x'存在的意義,後面不行前功盡棄(negated lookahead)。<br> <br> @@ -187,7 +187,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-or" id="special-or" name="special-or"><code>x|y</code></a></td> + <td><a href="#special-or" id="special-or"><code>x|y</code></a></td> <td> <p>符合「x」或「y」。</p> @@ -195,7 +195,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-quantifier" id="special-quantifier" name="special-quantifier"><code>{n}</code></a></td> + <td><a href="#special-quantifier" id="special-quantifier"><code>{n}</code></a></td> <td> <p>規定符號確切發生的次數,n為正整數</p> @@ -203,7 +203,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-quantifier-range" id="special-quantifier-range" name="special-quantifier-range"><code>{n,m}</code></a></td> + <td><a href="#special-quantifier-range" id="special-quantifier-range"><code>{n,m}</code></a></td> <td> <p>搜尋條件:n為至少、m為至多,其n、m皆為正整數。若把m設定為0,則為Invalid regular expression。</p> @@ -211,13 +211,13 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-character-set" id="special-character-set" name="special-character-set"><code>[xyz]</code></a></td> + <td><a href="#special-character-set" id="special-character-set"><code>[xyz]</code></a></td> <td>字元的集合。此格式會匹配中括號內所有字元, including <a href="https://developer.mozilla.org/zh-TW/docs/JavaScript/Guide/Values,_variables,_and_literals#Unicode_escape_sequences" title="https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Values,_variables,_and_literals#Unicode_escape_sequences">escape sequences</a>。特殊字元,例如點(<code>.</code>) 和米字號(<code>*</code>),在字元集合中不具特殊意義,所以不需轉換。若要設一個字元範圍的集合,可以使用橫線 <code>"-"</code> ,如下例所示:<br> <br> <code>[a-d] </code>等同於 <code>[abcd]。</code>會匹配 "brisket" 的 "b" 、"city" 的 'c' ……等。 而<code>/[a-z.]+/ </code>和 <code>/[\w.]+/</code> 均可匹配字串 "test.i.ng" 。</td> </tr> <tr> - <td><a href="#special-negated-character-set" id="special-negated-character-set" name="special-negated-character-set"><code>[^xyz]</code></a></td> + <td><a href="#special-negated-character-set" id="special-negated-character-set"><code>[^xyz]</code></a></td> <td> <p>bracket中寫入的字元將被否定,匹配非出現在bracket中的符號。<br> 可用 '-' 來界定字元的範圍。一般直接表達的符號都可以使用這種方式。</p> @@ -226,11 +226,11 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-backspace" id="special-backspace" name="special-backspace"><code>[\b]</code></a></td> + <td><a href="#special-backspace" id="special-backspace"><code>[\b]</code></a></td> <td>吻合倒退字元 (U+0008). (不會跟 \b 混淆)</td> </tr> <tr> - <td><a href="#special-word-boundary" id="special-word-boundary" name="special-word-boundary"><code>\b</code></a></td> + <td><a href="#special-word-boundary" id="special-word-boundary"><code>\b</code></a></td> <td> <p>吻合文字邊界。A word boundary matches the position where a word character is not followed or preceded by another word-character. Note that a matched word boundary is not included in the match. In other words, the length of a matched word boundary is zero. (Not to be confused with <code>[\b]</code>.)</p> @@ -244,7 +244,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-non-word-boundary" id="special-non-word-boundary" name="special-non-word-boundary"><code>\B</code></a></td> + <td><a href="#special-non-word-boundary" id="special-non-word-boundary"><code>\B</code></a></td> <td> <p>吻合非文字邊界。This matches a position where the previous and next character are of the same type: Either both must be words, or both must be non-words. The beginning and end of a string are considered non-words.</p> @@ -252,7 +252,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-control" id="special-control" name="special-control"><code>\c<em>X</em></code></a></td> + <td><a href="#special-control" id="special-control"><code>\c<em>X</em></code></a></td> <td> <p>Where <em>X</em> is a character ranging from A to Z. Matches a control character in a string.</p> @@ -260,7 +260,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-digit" id="special-digit" name="special-digit"><code>\d</code></a></td> + <td><a href="#special-digit" id="special-digit"><code>\d</code></a></td> <td> <p>吻合數字,寫法等同於 <code>[0-9] 。</code></p> @@ -268,7 +268,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-non-digit" id="special-non-digit" name="special-non-digit"><code>\D</code></a></td> + <td><a href="#special-non-digit" id="special-non-digit"><code>\D</code></a></td> <td> <p>吻合非數字,寫法等同於 <code>[^0-9]。</code></p> @@ -276,19 +276,19 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><code><a href="#special-form-feed" id="special-form-feed" name="special-form-feed">\f</a></code></td> + <td><code><a href="#special-form-feed" id="special-form-feed">\f</a></code></td> <td>Matches a form feed (U+000C).</td> </tr> <tr> - <td><a href="#special-line-feed" id="special-line-feed" name="special-line-feed"><code>\n</code></a></td> + <td><a href="#special-line-feed" id="special-line-feed"><code>\n</code></a></td> <td>Matches a line feed (U+000A).</td> </tr> <tr> - <td><a href="#special-carriage-return" id="special-carriage-return" name="special-carriage-return"><code>\r</code></a></td> + <td><a href="#special-carriage-return" id="special-carriage-return"><code>\r</code></a></td> <td>Matches a carriage return (U+000D).</td> </tr> <tr> - <td><a href="#special-white-space" id="special-white-space" name="special-white-space"><code>\s</code></a></td> + <td><a href="#special-white-space" id="special-white-space"><code>\s</code></a></td> <td> <p>Matches a single white space character, including space, tab, form feed, line feed. Equivalent to <code>[ \f\n\r\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]</code>.</p> @@ -296,7 +296,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-non-white-space" id="special-non-white-space" name="special-non-white-space"><code>\S</code></a></td> + <td><a href="#special-non-white-space" id="special-non-white-space"><code>\S</code></a></td> <td> <p>Matches a single character other than white space. Equivalent to <code>[^ \f\n\r\t\v\u00a0\\u1680u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]</code>.</p> @@ -304,15 +304,15 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-tab" id="special-tab" name="special-tab"><code>\t</code></a></td> + <td><a href="#special-tab" id="special-tab"><code>\t</code></a></td> <td>Matches a tab (U+0009).</td> </tr> <tr> - <td><a href="#special-vertical-tab" id="special-vertical-tab" name="special-vertical-tab"><code>\v</code></a></td> + <td><a href="#special-vertical-tab" id="special-vertical-tab"><code>\v</code></a></td> <td>Matches a vertical tab (U+000B).</td> </tr> <tr> - <td><a href="#special-word" id="special-word" name="special-word"><code>\w</code></a></td> + <td><a href="#special-word" id="special-word"><code>\w</code></a></td> <td> <p>包含數字字母與底線,等同於<code>[A-Za-z0-9_]。</code></p> @@ -322,7 +322,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-non-word" id="special-non-word" name="special-non-word"><code>\W</code></a></td> + <td><a href="#special-non-word" id="special-non-word"><code>\W</code></a></td> <td> <p>Matches any non-word character. Equivalent to <code>[^A-Za-z0-9_]</code>.</p> @@ -330,7 +330,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-backreference" id="special-backreference" name="special-backreference"><code>\<em>n</em></code></a></td> + <td><a href="#special-backreference" id="special-backreference"><code>\<em>n</em></code></a></td> <td> <p>Where <em>n</em> is a positive integer, a back reference to the last substring matching the <em>n</em> parenthetical in the regular expression (counting left parentheses).</p> @@ -338,15 +338,15 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </td> </tr> <tr> - <td><a href="#special-null" id="special-null" name="special-null"><code>\0</code></a></td> + <td><a href="#special-null" id="special-null"><code>\0</code></a></td> <td>Matches a NULL (U+0000) character. Do not follow this with another digit, because <code>\0<digits></code> is an octal <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Values,_variables,_and_literals#Unicode_escape_sequences" title="https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Values,_variables,_and_literals#Unicode_escape_sequences">escape sequence</a>. Instead use <code>\x00</code>.</td> </tr> <tr> - <td><a href="#special-hex-escape" id="special-hex-escape" name="special-hex-escape"><code>\xhh</code></a></td> + <td><a href="#special-hex-escape" id="special-hex-escape"><code>\xhh</code></a></td> <td>Matches the character with the code hh (two hexadecimal digits)</td> </tr> <tr> - <td><a href="#special-unicode-escape" id="special-unicode-escape" name="special-unicode-escape"><code>\uhhhh</code></a></td> + <td><a href="#special-unicode-escape" id="special-unicode-escape"><code>\uhhhh</code></a></td> <td>Matches the character with the code hhhh (four hexadecimal digits).</td> </tr> </tbody> diff --git a/files/zh-tw/web/javascript/guide/working_with_objects/index.html b/files/zh-tw/web/javascript/guide/working_with_objects/index.html index a2d3674365..ec531a1004 100644 --- a/files/zh-tw/web/javascript/guide/working_with_objects/index.html +++ b/files/zh-tw/web/javascript/guide/working_with_objects/index.html @@ -124,7 +124,7 @@ myCar.year = 1969</pre> <p>JavaScript has a number of predefined objects. In addition, you can create your own objects. You can create an object using an <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer">object initializer</a>. Alternatively, you can first create a constructor function and then instantiate an object invoking that function in conjunction with the <code>new</code> operator.</p> -<h3 id="Using_object_initializers"><a name="Object_initializers">Using object initializers</a></h3> +<h3 id="Using_object_initializers"><a>Using object initializers</a></h3> <p>In addition to creating objects using a constructor function, you can create objects using an <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer">object initializer</a>. Using object initializers is sometimes referred to as creating objects with literal notation. "Object initializer" is consistent with the terminology used by C++.</p> diff --git a/files/zh-tw/web/javascript/reference/global_objects/array/index.html b/files/zh-tw/web/javascript/reference/global_objects/array/index.html index fe344c1811..ee63054506 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/array/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/array/index.html @@ -101,7 +101,7 @@ console.log(removedItems); // ["Strawberry", "<code>Mango</code>"] </pre> -<h2 id="Syntax" name="Syntax">語法</h2> +<h2 id="Syntax">語法</h2> <pre class="syntaxbox">[<var>element0</var>, <var>element1</var>, ..., <var>elementN</var>] new Array(<var>element0</var>, <var>element1</var>[, ...[, <var>elementN</var>]]) @@ -117,13 +117,13 @@ new Array(<var>arrayLength</var>)</pre> <dd>如果傳遞給 <code>Array</code> 構造函數的唯一參數是 0 和 2<sup>32</sup>-1(含)之間的整數,將回傳一個新的 JavaScript 陣列,其長度被設定為這個數字。如果參數是任何其他數值,將拋出 {{jsxref("RangeError")}} 異常。</dd> </dl> -<h2 id="Description" name="Description">說明</h2> +<h2 id="Description">說明</h2> <p>Array(「陣列」)是類似列表(list)的物件(Object),它們的原型(Prototype)擁有方法(methods)來執行遍歷和變異操作。JavaScript 陣列的長度(元素數量),以及其元素的類型都不是固定的。取決於工程師如何選擇使用陣列,可以隨時更改陣列的長度,也可不連續儲存資料, 所以並不保證這些資料是集中的。一般情況下,這些特性很方便使用;但若這些功能都不符合您的用途,您可能會想使用型別陣列(typed arrays)。</p> <p>有些人認為即便會發生警告,仍然<a class="external" href="http://www.andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/">不應該使用關聯陣列</a>,而應該使用 {{jsxref("Global_Objects/Object", "objects")}}。您可參考<a class="external" href="http://www.less-broken.com/blog/2010/12/lightweight-javascript-dictionaries.html">輕量級 JavaScript 字典</a>當中的範例。</p> -<h3 id="Accessing_array_elements" name="Accessing_array_elements">存取陣列元素</h3> +<h3 id="Accessing_array_elements">存取陣列元素</h3> <p>JavaScript 陣列是 zero-indexed:陣列元素的索引值編排從 0 開始,而最後一個元素的索引值等同於陣列的 {{jsxref("Array.length", "length")}} 屬性減 1。</p> @@ -166,7 +166,7 @@ renderer['3d'].setTexture(model, 'character.png'); // 程式正常 console.log(promise['var']); </pre> -<h3 id="Relationship_between_length_and_numerical_properties" name="Relationship_between_length_and_numerical_properties"><code>length</code> 與數值屬性的關係</h3> +<h3 id="Relationship_between_length_and_numerical_properties"><code>length</code> 與數值屬性的關係</h3> <p>JavaScript 陣列的 {{jsxref("Array.length", "length")}} 屬性和其數值屬性相關。許多陣列的方法被呼叫時會參考 {{jsxref("Array.length", "length")}} 屬性的值(例如 {{jsxref("Array.join", "join")}}、{{jsxref("Array.slice", "slice")}}、{{jsxref("Array.indexOf", "indexOf")}} 等)。而有另一些方法則會去改變 {{jsxref("Array.length", "length")}} 屬性的值,如 {{jsxref("Array.push", "push")}}、{{jsxref("Array.splice", "splice")}}。</p> @@ -202,7 +202,7 @@ console.log(fruits.length); // 2 <p>在 {{jsxref("Array.length")}} 頁面裡有進一步解釋。</p> </div> -<h3 id="Creating_an_array_using_the_result_of_a_match" name="Creating_an_array_using_the_result_of_a_match">使用 match 回傳結果來建立陣列</h3> +<h3 id="Creating_an_array_using_the_result_of_a_match">使用 match 回傳結果來建立陣列</h3> <p>在字串與正規表示式之間的比對結果會產生一個 javascript 陣列。此陣列內含關於比對資訊的屬性與元素。 這樣的陣列由{{jsxref("RegExp.exec")}}, {{jsxref("String.match")}}, 和 {{jsxref("String.replace")}} 所產生。參考以下範例和表格,會有助於說明這些屬性和元素:</p> @@ -247,7 +247,7 @@ var myArray = myRe.exec('cdbBdbsbz'); </tbody> </table> -<h2 id="Properties" name="Properties">屬性</h2> +<h2 id="Properties">屬性</h2> <dl> <dt>Array.length</dt> @@ -258,7 +258,7 @@ var myArray = myRe.exec('cdbBdbsbz'); <dd>可加入屬性至所有陣列物件。</dd> </dl> -<h2 id="Methods" name="Methods">方法</h2> +<h2 id="Methods">方法</h2> <dl> <dt>{{jsxref("Array.from()")}}</dt> @@ -269,25 +269,25 @@ var myArray = myRe.exec('cdbBdbsbz'); <dd>用可變數量的引數來建立新的 <code>Array</code> 實例,不論引數的數量或型別。</dd> </dl> -<h2 id="Array_instances" name="Array_instances"><code>Array</code> 實例</h2> +<h2 id="Array_instances"><code>Array</code> 實例</h2> <p>所有的陣列實例都繼承自 {{jsxref("Array.prototype")}}。若修改這個陣列建構子 (Array constructor) 的原型物件 (prototype object),將會影響所有的陣列實體。</p> -<h3 id="Methods_of_array_instances" name="Methods_of_array_instances">屬性</h3> +<h3 id="Methods_of_array_instances">屬性</h3> <div>{{page('/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Properties')}}</div> -<h3 id="Methods_of_array_instances" name="Methods_of_array_instances">方法</h3> +<h3 id="Methods_of_array_instances">方法</h3> -<h4 id="Mutator_methods" name="Mutator_methods">Mutator methods</h4> +<h4 id="Mutator_methods">Mutator methods</h4> <div>{{page('zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Mutator_methods')}}</div> -<h4 id="Accessor_methods" name="Accessor_methods">Accessor methods</h4> +<h4 id="Accessor_methods">Accessor methods</h4> <div>{{page('zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Accessor_methods')}}</div> -<h4 id="Iteration_methods" name="Iteration_methods">Iteration methods</h4> +<h4 id="Iteration_methods">Iteration methods</h4> <div>{{page('zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Iteration_methods')}}</div> @@ -324,9 +324,9 @@ if (Array.prototype.every.call(str, isLetter)) { } </pre> -<h2 id="Examples" name="Examples">範例</h2> +<h2 id="Examples">範例</h2> -<h3 id="Example_Creating_an_array" name="Example:_Creating_an_array">範例:建立陣列</h3> +<h3 id="Example_Creating_an_array">範例:建立陣列</h3> <p>以下範例會產生長度為 0 的 <code>msgArray</code> 陣列,然後指派字串值到 <code>msgArray[0]</code> 及 <code>msgArray[99]</code>,使陣列的長度變為 100。</p> @@ -339,7 +339,7 @@ if (msgArray.length === 100) { } </pre> -<h3 id="Example_Creating_a_two-dimensional_array" name="Example:_Creating_a_two-dimensional_array">建立二維陣列</h3> +<h3 id="Example_Creating_a_two-dimensional_array">建立二維陣列</h3> <p>以下範例會用字串產生一張西洋棋盤的二維陣列。第一步是將士兵 'p' 從 (6,4) 移動至 (4,4),然後清空原本的位置 (6,4)。</p> @@ -408,7 +408,7 @@ console.table(values)</pre> <p>(第一欄為索引)</p> -<h2 id="Specifications" name="Specifications">規範</h2> +<h2 id="Specifications">規範</h2> <table class="standard-table"> <tbody> @@ -440,13 +440,13 @@ console.table(values)</pre> </tbody> </table> -<h2 id="Browser_compatibility" name="Browser_compatibility">瀏覽器相容性</h2> +<h2 id="Browser_compatibility">瀏覽器相容性</h2> <p>{{Compat("javascript.builtins.Array")}}</p> -<h2 id="See_also" name="See_also">參見</h2> +<h2 id="See_also">參見</h2> <ul> <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Working_with_Objects#Indexing_object_properties">JavaScript Guide: “Indexing object properties”</a></li> diff --git a/files/zh-tw/web/javascript/reference/global_objects/array/isarray/index.html b/files/zh-tw/web/javascript/reference/global_objects/array/isarray/index.html index f610cd1f54..771c17454d 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/array/isarray/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/array/isarray/index.html @@ -22,11 +22,11 @@ Array.isArray('foobar'); // false Array.isArray(undefined); // false </pre> -<h2 id="Syntax" name="Syntax">語法</h2> +<h2 id="Syntax">語法</h2> <pre class="syntaxbox">Array.isArray(<var>obj</var>)</pre> -<h3 id="Parameters" name="Parameters">參數</h3> +<h3 id="Parameters">參數</h3> <dl> <dt><code>obj</code></dt> @@ -37,13 +37,13 @@ Array.isArray(undefined); // false <p>若物件為 {{jsxref("Array")}} 回傳 <code>true</code>;否則回傳 <code>false</code>。</p> -<h2 id="Description" name="Description">描述</h2> +<h2 id="Description">描述</h2> <p>檢查傳入的物件是否為陣列({{jsxref("Array")}}),如果是便回傳 <code>true</code>,否則回傳 <code>false</code>。</p> <p>更多細節請參考 <a href="http://web.mit.edu/jwalden/www/isArray.html">“Determining with absolute accuracy whether or not a JavaScript object is an array”</a>。</p> -<h2 id="Examples" name="Examples">範例</h2> +<h2 id="Examples">範例</h2> <pre class="brush: js">// 下方都回傳 true Array.isArray([]); @@ -92,7 +92,7 @@ arr instanceof Array; // false } </pre> -<h2 id="Specifications" name="Specifications">規範</h2> +<h2 id="Specifications">規範</h2> <table class="standard-table"> <tbody> @@ -119,7 +119,7 @@ arr instanceof Array; // false </tbody> </table> -<h2 id="Browser_compatibility" name="Browser_compatibility">瀏覽器相容性</h2> +<h2 id="Browser_compatibility">瀏覽器相容性</h2> <div> @@ -127,7 +127,7 @@ arr instanceof Array; // false <p>{{Compat("javascript.builtins.Array.isArray")}}</p> </div> -<h2 id="See_also" name="See_also">參見</h2> +<h2 id="See_also">參見</h2> <ul> <li>{{jsxref("Array")}}</li> diff --git a/files/zh-tw/web/javascript/reference/global_objects/array/reverse/index.html b/files/zh-tw/web/javascript/reference/global_objects/array/reverse/index.html index d3104c28be..bf08c27d63 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/array/reverse/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/array/reverse/index.html @@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/reverse -<h2 id="Syntax" name="Syntax">語法</h2> +<h2 id="Syntax">語法</h2> <pre class="syntaxbox"><var>a</var>.reverse()</pre> @@ -24,13 +24,13 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/reverse <p>反轉後的陣列。</p> -<h2 id="Description" name="Description">描述</h2> +<h2 id="Description">描述</h2> <p><code>reverse</code> 方法將原地(in place)變換(transposes)呼叫此方法的陣列物件之元素至其顛倒的位置,改變原陣列後,並回傳此陣列之參考位址(reference)。</p> -<h2 id="Examples" name="Examples">範例</h2> +<h2 id="Examples">範例</h2> -<h3 id="Example:_Reversing_the_elements_in_an_array" name="Example:_Reversing_the_elements_in_an_array">反轉陣列中之元素</h3> +<h3 id="Example:_Reversing_the_elements_in_an_array">反轉陣列中之元素</h3> <p>下列範例建立了一個包含三個元素的陣列 <code>a</code>,接著反轉此陣列。呼叫 <code>reverse()</code> 會回傳一個反轉後的原陣列 <code>a</code> 之參考。</p> @@ -41,7 +41,7 @@ console.log(a); // ['three', 'two', 'one'] console.log(reversed); // ['three', 'two', 'one'] </pre> -<h2 id="Specifications" name="Specifications">規範</h2> +<h2 id="Specifications">規範</h2> <table class="standard-table"> <tbody> diff --git a/files/zh-tw/web/javascript/reference/global_objects/array/sort/index.html b/files/zh-tw/web/javascript/reference/global_objects/array/sort/index.html index bfb0eb739f..8b94b496fe 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/array/sort/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/array/sort/index.html @@ -18,12 +18,12 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/sort -<h2 id="Syntax" name="Syntax">語法</h2> +<h2 id="Syntax">語法</h2> <pre class="syntaxbox"><var>arr</var>.sort(<var>[compareFunction]</var>) </pre> -<h3 id="Parameters" name="Parameters">參數</h3> +<h3 id="Parameters">參數</h3> <dl> <dt><code>compareFunction</code> {{optional_inline}}</dt> @@ -34,7 +34,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/sort <p>排序後的陣列。請注意此為<em><a href="https://zh.wikipedia.org/wiki/%E5%8E%9F%E5%9C%B0%E7%AE%97%E6%B3%95">原地(in place)</a></em>進行排序過的陣列,並且不是原陣列的拷貝。</p> -<h2 id="Description" name="Description">描述</h2> +<h2 id="Description">描述</h2> <p>如果 <code>compareFunction</code> 沒有被應用,元素將被轉換為字串並以 Unicode 編碼位置進行比較來排序。舉例來說,"Banana" 會被排在 "cherry" 之前。在數值排序中,9 排在 80 前面,但因為數字被轉換成字串,在 Unicode 順序中 "80" 會在 "9" 的前面。</p> @@ -112,7 +112,7 @@ items.sort(function(a, b) { <h2 id="範例">範例</h2> -<h3 id="Example:_Creating.2C_displaying.2C_and_sorting_an_array" name="Example:_Creating.2C_displaying.2C_and_sorting_an_array">建立、顯示及排序一個陣列</h3> +<h3 id="Example:_Creating.2C_displaying.2C_and_sorting_an_array">建立、顯示及排序一個陣列</h3> <p>下列範例建立了四個陣列並顯示其原本陣列內容、再進行排序。數字陣列先不使用比較函式(compare function)來排序,接著才依據比較函式進行排序。</p> @@ -159,7 +159,7 @@ Sorted without a compare function: 1,200,40,5,700,80,9 Sorted with compareNumbers: 1,5,9,40,80,200,700 </pre> -<h3 id="Example:_Sorting_non-ASCII_characters" name="Example:_Sorting_non-ASCII_characters">排序非 ASCII 字元</h3> +<h3 id="Example:_Sorting_non-ASCII_characters">排序非 ASCII 字元</h3> <p>為了排列非 ASCII 字元,即重音節字元(e、é、è、a、ä 等等),非英語字串:利用 {{jsxref("String.localeCompare")}}。此函式將比較這些字元,所以結果將會顯示正確的順序。</p> @@ -171,7 +171,7 @@ items.sort(function (a, b) { // items is ['adieu', 'café', 'cliché', 'communiqué', 'premier', 'réservé'] </pre> -<h3 id="Example:_Sorting_maps" name="Example:_Sorting_maps">排序 map</h3> +<h3 id="Example:_Sorting_maps">排序 map</h3> <p><code>compareFunction</code> 可以被陣列中的各個元素多次呼叫。依據 <code>compareFunction</code> 的特性,這將會產生大量運算。越多元素要排序 <code>compareFunction</code> 就越多工作要做,因此選擇使用 <a href="/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/map">map</a> 來排列也就是一個更明智的選擇。作法為先迭代陣列一次來取得排序時所需的值至暫時的陣列,並對此臨時陣列進行排序。然後再迭代臨時陣列來將正確順序之值放入原始陣列中。</p> @@ -200,7 +200,7 @@ var result = mapped.map(function(el){ }); </pre> -<h2 id="Specifications" name="Specifications">規範</h2> +<h2 id="Specifications">規範</h2> <table class="standard-table"> <tbody> @@ -232,7 +232,7 @@ var result = mapped.map(function(el){ </tbody> </table> -<h2 id="Browser_compatibility" name="Browser_compatibility">瀏覽器相容性</h2> +<h2 id="Browser_compatibility">瀏覽器相容性</h2> <div> @@ -240,7 +240,7 @@ var result = mapped.map(function(el){ <p>{{Compat("javascript.builtins.Array.sort")}}</p> </div> -<h2 id="See_also" name="See_also">參見</h2> +<h2 id="See_also">參見</h2> <ul> <li>{{jsxref("Array.prototype.reverse()")}}</li> diff --git a/files/zh-tw/web/javascript/reference/global_objects/json/stringify/index.html b/files/zh-tw/web/javascript/reference/global_objects/json/stringify/index.html index fdc8f8d1d0..98f01ef784 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/json/stringify/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/json/stringify/index.html @@ -76,7 +76,7 @@ JSON.stringify( Object.create(null, { x: { value: 'x', enumerable: false }, y: { </pre> -<h3 id="The_replacer_parameter"><a name="The replacer parameter"></a>The <code>replacer</code> parameter</h3> +<h3 id="The_replacer_parameter"><a></a>The <code>replacer</code> parameter</h3> <p>The <code>replacer</code> parameter can be either a function or an array. As a function, it takes two parameters, the key and the value being stringified. The object in which the key was found is provided as the replacer's <code>this</code> parameter. Initially it gets called with an empty key representing the object being stringified, and it then gets called for each property on the object or array being stringified. It should return the value that should be added to the JSON string, as follows:</p> @@ -113,7 +113,7 @@ JSON.stringify(foo, replacer); // '{"week":45,"month":7}', only keep "week" and "month" properties </pre> -<h3 id="The_space_argument"><a name="The space argument"></a>The <code>space</code> argument</h3> +<h3 id="The_space_argument"><a></a>The <code>space</code> argument</h3> <p>The <code>space</code> argument may be used to control spacing in the final string. If it is a number, successive levels in the stringification will each be indented by this many space characters (up to 10). If it is a string, successive levels will be indented by this string (or the first ten characters of it).</p> diff --git a/files/zh-tw/web/javascript/reference/global_objects/object/assign/index.html b/files/zh-tw/web/javascript/reference/global_objects/object/assign/index.html index a95240343f..fc2306a8a1 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/object/assign/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/object/assign/index.html @@ -45,7 +45,7 @@ var copy = Object.assign({}, obj); console.log(copy); // { a: 1 } </pre> -<h3 id="Deep_Clone" name="Deep_Clone">警告:非深層複製</h3> +<h3 id="Deep_Clone">警告:非深層複製</h3> <p>深層複製(deep clone)需要使用其他的替代方案,因為 <code>Object.assign()</code> 僅複製屬性值。若來源物件的值參照到一個子物件,它只會複製該子物件的參照。</p> diff --git a/files/zh-tw/web/javascript/reference/global_objects/string/index.html b/files/zh-tw/web/javascript/reference/global_objects/string/index.html index 8ab9244b71..e29b6b8cea 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/string/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/string/index.html @@ -12,7 +12,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String <p><strong><code>String</code></strong> 全域物件為字串的構造函數,或是一個字符序列。</p> -<h2 id="Syntax" name="Syntax">語法</h2> +<h2 id="Syntax">語法</h2> <p>字串文字採用下列形式:</p> @@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String <pre>String(thing)</pre> -<h3 id="Parameters" name="Parameters">參數</h3> +<h3 id="Parameters">參數</h3> <dl> <dt><code>thing</code></dt> @@ -130,11 +130,11 @@ otherwise my code is unreadable.";</code></pre> <p>這兩個方法都會建立相同的字串內容。</p> -<h2 id="Description" name="Description">說明</h2> +<h2 id="Description">說明</h2> <p>字串對於能保留以文字形式表達的資料這件事來說,是有用的。在字串上,一些最常被使用的運算即確認字串長度 {{jsxref("String.length", "length")}} ,用 <a href="/en-US/docs/Web/JavaScript/Reference/Operators/String_Operators">+ 或 += 字串運算元</a> 建造或者串接字串,用 {{jsxref("String.indexOf", "indexOf")}} 方法檢查?子字串是否存在或子字串的位置,或者是用 {{jsxref("String.substring", "substring")}} 方法將子字串抽取出來。</p> -<h3 id="Character_access" name="Character_access">存取字元</h3> +<h3 id="Character_access">存取字元</h3> <p>有兩個方法可以存取字串中個別的字元。第一個是用 {{jsxref("String.charAt", "charAt")}} 方法:</p> @@ -148,7 +148,7 @@ otherwise my code is unreadable.";</code></pre> <p>對於存取字元使用的括號表達式,沒辦法去刪除或指派一個值給這些屬性。 這些屬性既非可寫的,也非可設定的。(參見 {{jsxref("Object.defineProperty")}})</p> -<h3 id="Comparing_strings" name="Comparing_strings">比較字串</h3> +<h3 id="Comparing_strings">比較字串</h3> <p>C 語言的開發者有 <code>strcmp()</code> 函式可以用來比較字串。 在 JavaScript 中,你只能用<a href="/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators">小於和大於運算子</a>:</p> @@ -194,7 +194,7 @@ console.log(eval(s2)); // 回傳字串 "2 + 2" <div class="note"><strong>注意:</strong> 對於在 JavaScript 中其他可用的字串方法,請參閱這篇文章<a href="/en-US/docs/Web/JavaScript/Typed_arrays/StringView" title="/en-US/docs/Web/JavaScript/Typed_arrays/StringView"><code>StringView</code> – a C-like representation of strings based on typed arrays</a>。</div> -<h2 id="Properties" name="Properties">屬性</h2> +<h2 id="Properties">屬性</h2> <dl> <dt>{{jsxref("String.prototype")}}</dt> @@ -203,7 +203,7 @@ console.log(eval(s2)); // 回傳字串 "2 + 2" <div>{{jsOverrides("Function", "Properties", "prototype")}}</div> -<h2 id="Methods" name="Methods">方法</h2> +<h2 id="Methods">方法</h2> <dl> <dt>{{jsxref("String.fromCharCode()")}}</dt> @@ -261,7 +261,7 @@ alert(String.replace(num, /5/, '2')); } }());</pre> -<h2 id="String_instances" name="String_instances"><code>String</code> instances</h2> +<h2 id="String_instances"><code>String</code> instances</h2> <h3 id="Properties_2">Properties</h3> diff --git a/files/zh-tw/web/javascript/reference/operators/typeof/index.html b/files/zh-tw/web/javascript/reference/operators/typeof/index.html index 92d02f05bf..e7f4c388e8 100644 --- a/files/zh-tw/web/javascript/reference/operators/typeof/index.html +++ b/files/zh-tw/web/javascript/reference/operators/typeof/index.html @@ -35,11 +35,11 @@ translation_of: Web/JavaScript/Reference/Operators/typeof <pre><code>typeof <code><em>operand</em></code></code></pre> -<h2 id="Parameters" name="Parameters">參數</h2> +<h2 id="Parameters">參數</h2> <div><code><em>operand</em></code> 表示式代表傳入的物件或原始型別。</div> -<h2 id="Description" name="Description">說明</h2> +<h2 id="Description">說明</h2> <p>下表摘要列出了 <code>typeof 可能的傳回值</code>:</p> @@ -170,7 +170,7 @@ typeof /s/ === 'object'; // Firefox 5+ ... // 符合 ECMAScript 5.1 <p><a class="external" href="http://ecma-international.org/ecma-262/5.1/#sec-11.4.3">ECMA-262 section 11.4.3</a></p> -<h2 id="See_also" name="See_also">參照</h2> +<h2 id="See_also">參照</h2> <ul> <li><a href="/en-US/docs/JavaScript/Reference/Operators/instanceof" title="/en-US/docs/JavaScript/Reference/Operators/instanceof">instanceof</a></li> diff --git a/files/zh-tw/web/javascript/reference/statements/for...in/index.html b/files/zh-tw/web/javascript/reference/statements/for...in/index.html index 2c903faf2e..92ab3aa5c0 100644 --- a/files/zh-tw/web/javascript/reference/statements/for...in/index.html +++ b/files/zh-tw/web/javascript/reference/statements/for...in/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Statements/for...in --- <p>{{jsSidebar("Statements")}}</p> -<h2 id="Summary" name="Summary">Summary</h2> +<h2 id="Summary">Summary</h2> <p>迭代物件的可列舉屬性。對每個相異屬性,執行陳述式。</p> @@ -27,12 +27,12 @@ translation_of: Web/JavaScript/Reference/Statements/for...in </tbody> </table> -<h2 id="Syntax" name="Syntax">語法</h2> +<h2 id="Syntax">語法</h2> <pre class="syntaxbox">for (<var>變數</var> in <var>物件</var>) {<em>...</em> }</pre> -<h3 id="Parameters" name="Parameters">參數</h3> +<h3 id="Parameters">參數</h3> <dl> <dt><code>變數</code></dt> @@ -41,7 +41,7 @@ translation_of: Web/JavaScript/Reference/Statements/for...in <dd>Object whose enumerable properties are iterated.</dd> </dl> -<h2 id="Description" name="Description">Description</h2> +<h2 id="Description">Description</h2> <p><code>for...in</code> 迴圈只迭代可列舉屬性。由內建建構式(如:Array、Object) 製造的物件,從 <code>Object.prototype</code> 和 <code>String.prototype</code> 繼承了不可列舉屬性,如: <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/String">String</a></code>的<code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/String/indexOf">indexOf</a></code> 方法,或 <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Object">Object</a></code>的 <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Object/toString">toString</a></code> 方法。 迴圈將迭代全部可列舉屬性,包括了物件自身的和物件繼承自它的建構式之原型的可列舉屬性。(原型鏈上較接近物件的屬性覆蓋原型的屬性)</p> @@ -57,7 +57,7 @@ translation_of: Web/JavaScript/Reference/Statements/for...in <p>因為迭代的順序依賴於 JavaScript 引擎的實作,在不同引擎下,迭代一個陣列可能不是以一個一致的順序存取陣列元素。因此,當你迭代陣列,且該陣列的存取順序很重要時,最好是使用以數值索引的 <a href="/en-US/docs/JavaScript/Reference/Statements/for">for</a> 迴圈 (或 <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array/forEach">Array.forEach</a> 或非標準 <code><a href="/en-US/docs/JavaScript/Reference/Statements/for...of">for...of</a></code> 迴圈)。</p> </div> -<h2 id="Example" name="Example">Examples</h2> +<h2 id="Example">Examples</h2> <p>The following function takes as its arguments an object and the object's name. It then iterates over all the object's enumerable properties and returns a string of the property names and their values.</p> @@ -102,7 +102,7 @@ o = new ColoredTriangle(); alert(show_own_props(o, "o")); /* alerts: o.color = red */ </pre> -<h2 id="See_also" name="See_also">See also</h2> +<h2 id="See_also">See also</h2> <ul> <li><a href="/en-US/docs/JavaScript/Reference/Statements/for...of"><code>for...of</code></a> - a similar statement that iterates over the property <em>values</em></li> |