diff options
Diffstat (limited to 'files/zh-tw/web')
24 files changed, 102 insertions, 110 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 97ff027312..8e437db632 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 @@ -167,7 +167,7 @@ true var name = "simon"; </pre> -<p>如果你宣告一個變數但不指定任何值,其型態便為 <code>undefined</code> (未定義)。 <span class="comment">應該注意關於 JS 的區塊不會構成新變數作用域</span></p> +<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> @@ -709,7 +709,7 @@ Person.prototype.fullNameReversed = function() { } </pre> -<p>Person.prototype 是一個由所有 Person 物件共享的物件。他將產生一個可供查看的關係鍊 (有個特殊的名字 <span style="color: #0000cd;">prototype chain</span>)。任何時候當我們想要使用某個不在 Person 中定義的 property 時,JavaScript 就會到 Person.prototype 裡頭尋找。因此, Person.prototype 就成為一個所有 Person 物件共用且可視的一個共享空間(物件)。這是一個提供強大工具,允許你可以在執行的任何一刻增加物件的相關函式。</p> +<p>Person.prototype 是一個由所有 Person 物件共享的物件。他將產生一個可供查看的關係鍊 (有個特殊的名字 prototype chain)。任何時候當我們想要使用某個不在 Person 中定義的 property 時,JavaScript 就會到 Person.prototype 裡頭尋找。因此, Person.prototype 就成為一個所有 Person 物件共用且可視的一個共享空間(物件)。這是一個提供強大工具,允許你可以在執行的任何一刻增加物件的相關函式。</p> <pre class="brush: js">> s = new Person("Simon", "Willison"); > s.firstNameCaps(); @@ -764,7 +764,7 @@ desrever eb won nac sihT } </pre> -<p>當我們這樣做時,並不會產生一個類似於 new() 的函式在 prototype 中。此外,apply() 有一個姊妹函式叫做 <span style="color: #0000cd;">call</span><span style="color: #000000;">,差異在於 call() 接受一個可被擴展的參數串列而非一個陣列。</span></p> +<p>當我們這樣做時,並不會產生一個類似於 new() 的函式在 prototype 中。此外,apply() 有一個姊妹函式叫做 call,差異在於 call() 接受一個可被擴展的參數串列而非一個陣列。</p> <pre class="brush: js">function lastNameCaps() { return this.last.toUpperCase(); @@ -833,7 +833,7 @@ y(7) <li>記憶體釋放:當沒有參照可以指向該物件時</li> </ol> -<p>當瀏覽器在執行的時候,需要維護來自<span style="color: #0000cd;"> DOM</span> 的大量物件。IE 使用自己的垃圾回收機制,而這個管理機制和 JavaScript 的不同--這就造成了記憶體流失。</p> +<p>當瀏覽器在執行的時候,需要維護來自 DOM 的大量物件。IE 使用自己的垃圾回收機制,而這個管理機制和 JavaScript 的不同--這就造成了記憶體流失。</p> <p>在我們這裡的例子中,記憶體流失源自於環狀的相互參照 (circular reference)-- JavaScript 物件及原生物件之間的相互參照。以下面的程式為例:</p> diff --git a/files/zh-tw/web/javascript/about_javascript/index.html b/files/zh-tw/web/javascript/about_javascript/index.html index be8c2a733f..2e0c6d5bb8 100644 --- a/files/zh-tw/web/javascript/about_javascript/index.html +++ b/files/zh-tw/web/javascript/about_javascript/index.html @@ -9,13 +9,13 @@ translation_of: Web/JavaScript/About_JavaScript <p>JavaScript<sup>®</sup> 是被用在上百萬的網頁和伺服器應用程式的一種網景開發物件腳本語言。Netscape's JavaScript 是 ECMA-262 Edition 3 (<a href="/en-US/docs/JavaScript/Language_Resources" title="ECMAScript">ECMAScript</a>)的基礎標準腳本語言,兩者之間從公佈的標準只有輕微的差異。</p> -<p>相對於常見的誤解,JavaScript 不是<span class="atn">“</span>解釋型的 Java<span class="atn">”</span>。簡言之,JavaScript 是一種動態的腳本語言,支持基於原型的物件結構。基本語法是故意類似 Java 和 C + + 來減少需要學習語言的新概念。語言結構,如 if 語句,for 和 while 迴圈,和switch,並try ... <span class="hps">catch塊的功能</span>在這些語言中的相同(或接近)。</p> +<p>相對於常見的誤解,JavaScript 不是「解釋型的 Java」。簡言之,JavaScript 是一種動態的腳本語言,支持基於原型的物件結構。基本語法是故意類似 Java 和 C + + 來減少需要學習語言的新概念。語言結構,如 if 語句,for 和 while 迴圈,和switch,並try ... catch塊的功能在這些語言中的相同(或接近)。</p> <p>JavaScript可以作為一個程序和一個物件導向的語言。創建物件的 JavaScript 編程,通過附加的方法和屬性,否則空物件在運行時,而不是編譯語言如 C + + 和 Java 中常見語法類定義。一旦已建成一個物件,它可以被用來作為創建類似的物件的藍圖。</p> <p>JavaScript 的動態能力包括運行時物件的結構,可變參數列表,函數變量,動態腳本創建(透過 eval),物件自我檢查(透過 <code>for ... in</code>),原始碼恢復( JavaScript 程序可以將函式反編譯回原始碼)</p> -<p>內在的對象是數字,字符串,布林,日期, <span>正規表示法</span>和數學。</p> +<p>內在的對象是數字、字符串、布林、日期、正規表示法、數學。</p> <p>更深入討論 JavaScript 編程遵循下面的 JavaScript 資源</p> @@ -35,7 +35,7 @@ translation_of: Web/JavaScript/About_JavaScript <p>在 Internet Explorer 中使用的 Chakra 引擎,在技術上是一個 JScript 引擎,而不是一個 JavaScript 引擎。</p> -<p>每個 mozilla.org 的 JavaScript 引擎,暴露了一個公共API應用程序可以調用的 JavaScript 支持。到目前為止,最常見的宿主環境為 JavaScript 是網路瀏覽器。 網路<span class="hps">瀏覽器</span>通常使用公共 API 來創建<span class="atn">“宿主對象”</span>負責反映 DOM 到 JavaScript。</p> +<p>每個 mozilla.org 的 JavaScript 引擎,暴露了一個公共API應用程序可以調用的 JavaScript 支持。到目前為止,最常見的宿主環境為 JavaScript 是網路瀏覽器。 網路瀏覽器通常使用公共 API 來創建「宿主對象」負責反映 DOM 到 JavaScript。</p> <p>另一個常見的應用是為 JavaScript(Web)伺服器端腳本語言。一個 JavaScript 的 Web 服務器會暴露主機對象代表一個 HTTP 請求和響應物件,由 JavaScript 動態生成網頁的程序操作。</p> diff --git a/files/zh-tw/web/javascript/data_structures/index.html b/files/zh-tw/web/javascript/data_structures/index.html index 9a69b13f32..29f1a048b8 100644 --- a/files/zh-tw/web/javascript/data_structures/index.html +++ b/files/zh-tw/web/javascript/data_structures/index.html @@ -250,7 +250,7 @@ Infinity <p>JavaScript has a standard library of built-in objects. Please have a look at the <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects">reference</a> to find out about more objects.</p> -<h2 id="使用_typeof_運算子來判斷型別"><code><font face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif"><span style="background-color: #ffffff;">使用 </span></font>typeof</code> 運算子來判斷型別</h2> +<h2 id="使用_typeof_運算子來判斷型別"><code><font face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif">使用 </font>typeof</code> 運算子來判斷型別</h2> <p><code>typeof</code> 運算子可以幫助你找到你的變數型別,請閱讀〈<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof">reference page</a> 〉來取得更多細節及邊緣案例。</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 5b7872afce..f018d78c68 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 @@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Guide/Details_of_the_Object_Model <p>基於類的物件導向語言,比如 Java 和 C++,是建基於兩種概念之上:類和實例。</p> <ul> - <li><em>類(Class)</em>:定義了某一種物件所擁有的屬性(可以將 Java 中的方法和<span id="tran_1_15">屬性值</span>,以及 C++ 中的成員視為屬性)。類是抽象的事物,而不是其所描述的物件中的特定成員。例如 <code>Employee</code> 類可以用來代表所有僱員。</li> + <li><em>類(Class)</em>:定義了某一種物件所擁有的屬性(可以將 Java 中的方法和屬性值,以及 C++ 中的成員視為屬性)。類是抽象的事物,而不是其所描述的物件中的特定成員。例如 <code>Employee</code> 類可以用來代表所有僱員。</li> <li><em>實例(Instance)</em>:是類產生的實體,或者說,是它的一個成員。例如, <code>Victoria</code> 可以是 <code>Employee</code> 類的一個實例,表示一個特定的僱員個體。實例具有其類完全一致的屬性(不多也不少)。</li> </ul> diff --git a/files/zh-tw/web/javascript/guide/functions/index.html b/files/zh-tw/web/javascript/guide/functions/index.html index 03866506d1..7360a69623 100644 --- a/files/zh-tw/web/javascript/guide/functions/index.html +++ b/files/zh-tw/web/javascript/guide/functions/index.html @@ -5,29 +5,21 @@ translation_of: Web/JavaScript/Guide/Functions --- <p>{{jsSidebar("JavaScript Guide")}} {{PreviousNext("Web/JavaScript/Guide/Loops_and_iteration", "Web/JavaScript/Guide/Expressions_and_Operators")}}</p> -<p><span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>是構成javascript的基本要素之一。<span id="result_box" lang="zh-TW"><span title="一个函数本身就是一段JavaScript程序——包含用于执行某一任务或计算的一系列语句。">一個<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>本身就是一段JavaScript程序—<span id="result_box" lang="zh-TW"><span title="一个函数本身就是一段JavaScript程序——包含用于执行某一任务或计算的一系列语句。">包</span></span>含用於執行某一個任務或計算的語法。</span><span title="要使用某一个函数,你必需在想要调用这个函数的执行域的某处定义它。">要呼叫某一個<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>之前,你必需先在這個<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>欲執行的scope中定義它。</span></span></p> +<p>函式是構成javascript的基本要素之一。一個函式本身就是一段JavaScript程序—包含用於執行某一個任務或計算的語法。要呼叫某一個函式之前,你必需先在這個函式欲執行的scope中定義它。</p> -<h2 id="定義函式">定義<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span></h2> +<h2 id="定義函式">定義函式</h2> -<p><span id="result_box" lang="zh-TW"><span title="一个函数的定义(也称为函数的声明)由一系列的函数关键词组成, 依次为: - - ">一個<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>的定義由一系列的<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>關鍵詞組成, 依次為:</span></span></p> +<p>一個函式的定義由一系列的函式關鍵詞組成, 依次為:</p> <ul> - <li><span title="一个函数的定义(也称为函数的声明)由一系列的函数关键词组成, 依次为: - - "> </span><span title="函数的名称。 - "><span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>的名稱。</span></li> - <li><span lang="zh-TW"><span title="函数的名称。 - "> </span><span title="包围在括号()中,并由逗号区隔的一个函数引数(译注:实际参数)列表。 - ">包圍在括號()中,並由逗號區隔的一個<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>參數列表。</span></span></li> - <li><span lang="zh-TW"><span title="包围在括号()中,并由逗号区隔的一个函数引数(译注:实际参数)列表。 - "> </span><span title="包围在花括号{}中,用于定义函数功能的一些JavaScript语句。">包圍在大括號{}中,用於定義<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>功能的一些JavaScript語句。</span></span></li> + <li>函式的名稱。</li> + <li>包圍在括號()中,並由逗號區隔的一個函式參數列表。</li> + <li>包圍在大括號{}中,用於定義函式功能的一些JavaScript語句。</li> </ul> <p> </p> -<p><span class="short_text" id="result_box" lang="zh-TW"><span title="例如,以下的代码定义了一个名为square的简单函数:">例如,以下的程式碼定義了一個名為square的簡單<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>:</span></span></p> +<p>例如,以下的程式碼定義了一個名為square的簡單函式:</p> <div style="margin-right: 270px;"> <pre class="brush: js">function square(number) { @@ -36,14 +28,14 @@ translation_of: Web/JavaScript/Guide/Functions </pre> </div> -<p><span id="result_box" lang="zh-TW"><span title="函数square使用了一个引数,叫作number。"><span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>square有一個參數,叫作number。</span><span title="这个函数只有一个语句,它说明该函数会将函数的引数(即number)自乘后返回。">這個<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>只有一行程式碼,它會回傳number自乘的結果。</span><span title="函数的return语句确定了函数的返回值。"><span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>的 <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/return" title="return"><code>return</code></a> 語法描述<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>的返回值。</span></span></p> +<p>函式square有一個參數,叫作number。這個函式只有一行程式碼,它會回傳number自乘的結果。函式的 <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/return" title="return"><code>return</code></a> 語法描述函式的返回值。</p> <pre class="brush: js">return number * number; </pre> -<p><span id="result_box" lang="zh-TW"><span title="原始参数(比如一个具体的数字)被作为值传递给函数;值被传递给函数,但是如果被调用函数改变了这个参数的值,这样的改变不会影响到全局或调用的函数。">原始參數(例如一個數字)被作為值傳遞給<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>,如果呼叫的<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>改變了這個參數的值,不會影響到<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示"><span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>外部的原始變數</span></span>。</span></span></p> +<p>原始參數(例如一個數字)被作為值傳遞給函式,如果呼叫的函式改變了這個參數的值,不會影響到函式外部的原始變數。</p> -<p><span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">如果傳遞一個物件(例如 <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="Array"><code>Array</code></a> 或自定義的其它物件)作為參數,而函式改變了這個物件的屬性,這樣的改變對函式外部是有作用的(因為是傳遞物件的位址),如下面的例子所示</span><span title=":">:</span></span></p> +<p>如果傳遞一個物件(例如 <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="Array"><code>Array</code></a> 或自定義的其它物件)作為參數,而函式改變了這個物件的屬性,這樣的改變對函式外部是有作用的(因為是傳遞物件的位址),如下面的例子所示:</p> <pre class="brush: js">function myFunc(theObject) { theObject.make = "Toyota"; @@ -60,7 +52,7 @@ y = mycar.make; // y 的值為 "Toyota" // (屬性 make 被 function 改變) </pre> -<p><span id="result_box" lang="zh-TW"><span title="请注意,重新给参数分配一个对象,并不会对函数的外部有任何影响,因为这样只是改变了参数的值,而不是改变了对象的一个属性值:">請注意,重新給參數指定一個對象(物件),並不會對函式的外部有任何影響,因為這樣只是改變了參數的值,而不是改變了對象的一個屬性值:</span></span></p> +<p>請注意,重新給參數指定一個對象(物件),並不會對函式的外部有任何影響,因為這樣只是改變了參數的值,而不是改變了對象的一個屬性值:</p> <pre class="brush: js">function myFunc(theObject) { theObject = {make: "Ford", model: "Focus", year: 2006}; @@ -75,13 +67,13 @@ x = mycar.make; // x 的值為 "Honda" myFunc(mycar); y = mycar.make; // y 的值還是 "Honda" </pre> -<p><span id="result_box" lang="zh-TW"><span title="当然上述函数定义都用的是语法语句,函数也同样可以由函数表达式产生。">儘管上述函式定義都是用的是陳述式,函式也同樣可以由函式表達式來定義。</span><span title="这样的函数可以是匿名的;它不必有名称。">這樣的函式可以是匿名的;它不必有名稱。</span><span title="例如,上面提到的函数square也可这样来定义:">例如,上面提到的函式square也可這樣來定義:</span></span></p> +<p>儘管上述函式定義都是用的是陳述式,函式也同樣可以由函式表達式來定義。這樣的函式可以是匿名的;它不必有名稱。例如,上面提到的函式square也可這樣來定義:</p> <pre class="brush: js" style="font-size: 14px;">var square = function(number) {return number * number}; var x = square(4) //x 的值為 16</pre> <div class="almost_half_cell" id="gt-res-content"> -<div dir="ltr" style="zoom: 1;"><span id="result_box" lang="zh-TW"><span title="必要时,函数名称可与函数表达式同时存在,并且可以用于在函数内部代指其本身,或者在调试器堆栈跟踪中鉴别该函数:">必要時,函式名稱可與函式表達式同時存在,並且可以用於在函式內部代指其本身(遞迴):</span></span></div> +<div dir="ltr" style="zoom: 1;">必要時,函式名稱可與函式表達式同時存在,並且可以用於在函式內部代指其本身(遞迴):</div> <div dir="ltr" style="zoom: 1;"> </div> </div> @@ -91,7 +83,7 @@ var x = square(4) //x 的值為 16</pre> console.log(factorial(3)); </pre> -<p><span id="result_box" lang="zh-TW"><span title="函数表达式在将函数作为一个引数传递给其它函数时十分方便。">函式表達式在將函式作為一個參數傳遞給其它函式時十分方便。</span><span title="下面的例子演示了一个叫map的函数如何被定义,而后调用一个匿名函数作为其第一个参数:">下面的例子展示了一個叫map的函式如何被定義,而後呼叫一個匿名函式作為其第一個參數:</span></span></p> +<p>函式表達式在將函式作為一個參數傳遞給其它函式時十分方便。下面的例子展示了一個叫map的函式如何被定義,而後呼叫一個匿名函式作為其第一個參數:</p> <pre class="brush: js" style="font-size: 14px;">function map(f,a) { var result = [], // Create a new Array @@ -102,22 +94,22 @@ console.log(factorial(3)); } </pre> -<p>下面的程式碼呼叫map<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>並將一個匿名<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>傳入作為第一個參數:</p> +<p>下面的程式碼呼叫map函式並將一個匿名函式傳入作為第一個參數:</p> <pre class="brush: js" style="font-size: 14px;">map(function(x) {return x * x * x}, [0, 1, 2, 5, 10]); // 結果會回傳 [0, 1, 8, 125, 1000] </pre> -<p><span style="line-height: 1.572;">除了上述的定義方式以外,我們也可以透過 </span><a href="/en-US/docs/JavaScript/Guide/Predefined_Core_Objects#Function_Object" style="line-height: 1.572;" title="en-US/docs/JavaScript/Guide/Predefined Core Objects#Function Object"><code>Function</code> constructor</a><span style="line-height: 1.572;"> 來定義, 類似 </span><a href="/en-US/docs/JavaScript/Guide/Functions#eval_Function" style="line-height: 1.572;" title="en-US/docs/JavaScript/Guide/Functions#eval_Function"><code>eval()</code></a><span style="line-height: 1.572;">.</span></p> +<p>除了上述的定義方式以外,我們也可以透過 <a href="/en-US/docs/JavaScript/Guide/Predefined_Core_Objects#Function_Object" style="line-height: 1.572;" title="en-US/docs/JavaScript/Guide/Predefined Core Objects#Function Object"><code>Function</code> constructor</a> 來定義, 類似 <a href="/en-US/docs/JavaScript/Guide/Functions#eval_Function" style="line-height: 1.572;" title="en-US/docs/JavaScript/Guide/Functions#eval_Function"><code>eval()</code></a>.</p> <h2 id="呼叫函式">呼叫函式</h2> -<p><span id="result_box" lang="zh-TW"><span title="定义一个函数并不会自动的执行它。">定義一個<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>並不會自動的執行它。</span><span title="定义了函数仅仅是赋予函数以名称并明确函数被调用时该做些什么。">定義了<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>僅僅是賦予<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>以名稱並明確<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>被呼叫時該做些什麼。</span><span title="调用函数才会以给定的参数真正执行这些动作。">呼叫<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>才會以給定的參數真正執行這些動作。</span><span title="例如,一旦你定义了函数square,你可以如下这样调用它:">例如,一旦你定義了<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>square,你可以如下這樣呼叫它:</span></span></p> +<p>定義一個函式並不會自動的執行它。定義了函式僅僅是賦予函式以名稱並明確函式被呼叫時該做些什麼。呼叫函式才會以給定的參數真正執行這些動作。例如,一旦你定義了函式square,你可以如下這樣呼叫它:</p> <pre class="brush: js">square(5); </pre> -<p><span class="short_text" id="result_box" lang="zh-TW"><span title="上述语句以引数(译注:即实际参数)5来调用函数。">上述程式碼把5傳遞給square<span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>。</span><span title="函数执行完它的语句会返回值25。"><span id="result_box" lang="zh-TW"><span title="如果你传递一个对象(即一个非实际值,例如矩阵或用户自定义的其它对象)作为参数,而函数改变了这个对象的属性,这样的改变对函数外部是可见的,如下面的例子所示">函式</span></span>執行完會回傳25。</span></span></p> +<p>上述程式碼把5傳遞給square函式。函式執行完會回傳25。</p> <p>函式必須在呼叫區塊的可視範圍內,但函數也可以宣告在使用處的下面,如下列範例:</p> diff --git a/files/zh-tw/web/javascript/guide/index.html b/files/zh-tw/web/javascript/guide/index.html index 769f57c55e..40b503bb8f 100644 --- a/files/zh-tw/web/javascript/guide/index.html +++ b/files/zh-tw/web/javascript/guide/index.html @@ -12,7 +12,7 @@ translation_of: Web/JavaScript/Guide <p>本指南區分成以下數個章節:</p> <ul class="card-grid"> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Introduction">簡介</a></span> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Introduction">簡介</a> <p><a href="/zh-TW/docs/Web/JavaScript/Guide/Introduction#Where_to_find_JavaScript_information">關於本指南</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Introduction#What_is_JavaScript">關於 JavaScript</a><br> @@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Guide <a href="/zh-TW/docs/Web/JavaScript/Guide/Introduction#Getting_started_with_JavaScript">工具</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Introduction#Hello_world">Hello World</a></p> </li> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Grammar_and_types">語法與型別</a></span> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Grammar_and_types">語法與型別</a> <p><a href="/zh-TW/docs/Web/JavaScript/Guide/Grammar_and_types#Basics">基礎語法 & 註解</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Grammar_and_types#Declarations">宣告</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Grammar_and_types#Variable_scope">變數範圍</a><br> @@ -29,14 +29,14 @@ translation_of: Web/JavaScript/Guide <a href="/zh-TW/docs/Web/JavaScript/Guide/Grammar_and_types#Data_structures_and_types">資料結構與型態</a><br> <a href="https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Guide/Grammar_and_types#%E5%AD%97%E9%9D%A2%E5%80%BC%EF%BC%88Literals%EF%BC%89">字面值</a></p> </li> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Control_flow_and_error_handling">流程控制與錯誤處理</a></span> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Control_flow_and_error_handling">流程控制與錯誤處理</a> <p><code><a href="/zh-TW/docs/Web/JavaScript/Guide/Control_flow_and_error_handling#if...else_statement">if...else</a></code><br> <code><a href="/zh-TW/docs/Web/JavaScript/Guide/Control_flow_and_error_handling#switch_statement">switch</a></code><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Control_flow_and_error_handling#Exception_handling_statements"><code>try</code>/<code>catch</code>/<code>throw</code></a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Control_flow_and_error_handling#Utilizing_Error_objects">Error 物件</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Control_flow_and_error_handling#Promises">Promises</a></p> </li> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Loops_and_iteration">迴圈與迭代</a></span> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Loops_and_iteration">迴圈與迭代</a> <p><code><a href="/zh-TW/docs/Web/JavaScript/Guide/Loops_and_iteration#for_statement">for</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Loops_and_iteration#while_statement">while</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Loops_and_iteration#do...while_statement">do...while</a><br> @@ -47,7 +47,7 @@ translation_of: Web/JavaScript/Guide </ul> <ul class="card-grid"> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Functions">函數</a></span> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Functions">函數</a> <p><a href="/zh-TW/docs/Web/JavaScript/Guide/Functions#Defining_functions">定義函數</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Functions#Calling_functions">呼叫函數</a><br> @@ -56,18 +56,18 @@ translation_of: Web/JavaScript/Guide <a href="/zh-TW/docs/Web/JavaScript/Guide/Functions#Using_the_arguments_object">參數值</a> & <a href="/zh-TW/docs/Web/JavaScript/Guide/Functions#Function_parameters">參數</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Functions#Arrow_functions">箭頭函數</a></p> </li> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Expressions_and_Operators">運算式與運算子</a></span> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Expressions_and_Operators">運算式與運算子</a> <p><a href="/zh-TW/docs/Web/JavaScript/Guide/Expressions_and_Operators#Assignment_operators">賦值</a> & <a href="/zh-TW/docs/Web/JavaScript/Guide/Expressions_and_Operators#Comparison_operators">比較</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Expressions_and_Operators#Arithmetic_operators">算數運算子</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Expressions_and_Operators#Bitwise_operators">位元</a> & <a href="/zh-TW/docs/Web/JavaScript/Guide/Expressions_and_Operators#Logical_operators">邏輯運算子</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Expressions_and_Operators#Conditional_(ternary)_operator">條件(三元)運算子</a></p> </li> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Numbers_and_dates">數字與日期</a></span><a href="/zh-TW/docs/Web/JavaScript/Guide/Numbers_and_dates#Numbers">數字書寫法</a> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Numbers_and_dates">數字與日期</a><a href="/zh-TW/docs/Web/JavaScript/Guide/Numbers_and_dates#Numbers">數字書寫法</a> <p><a href="/zh-TW/docs/Web/JavaScript/Guide/Numbers_and_dates#Number_object"><code>Number</code> 物件</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Numbers_and_dates#Math_object"><code>Math</code> 物件</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Numbers_and_dates#Date_object"><code>Date</code> 物件</a></p> </li> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Text_formatting">文字格式</a></span> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Text_formatting">文字格式</a> <p><a href="/zh-TW/docs/Web/JavaScript/Guide/Text_formatting#String_literals">字串書寫法</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Text_formatting#String_objects"><code>String</code> 物件</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Text_formatting#Multi-line_template_literals">模板書寫法</a><br> @@ -77,24 +77,24 @@ translation_of: Web/JavaScript/Guide </ul> <ul class="card-grid"> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Indexed_collections">具索引的集合</a></span> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Indexed_collections">具索引的集合</a> <p><a href="/zh-TW/docs/Web/JavaScript/Guide/Indexed_collections#Array_object">陣列</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Indexed_collections#Typed_Arrays">型態化陣列</a></p> </li> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Keyed_collections">具鍵值的集合</a></span> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Keyed_collections">具鍵值的集合</a> <p><code><a href="/zh-TW/docs/Web/JavaScript/Guide/Keyed_collections#Map_object">Map</a></code><br> <code><a href="/zh-TW/docs/Web/JavaScript/Guide/Keyed_collections#WeakMap_object">WeakMap</a></code><br> <code><a href="/zh-TW/docs/Web/JavaScript/Guide/Keyed_collections#Set_object">Set</a></code><br> <code><a href="/zh-TW/docs/Web/JavaScript/Guide/Keyed_collections#WeakSet_object">WeakSet</a></code></p> </li> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Working_with_Objects">使用物件</a></span> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Working_with_Objects">使用物件</a> <p><a href="/zh-TW/docs/Web/JavaScript/Guide/Working_with_Objects#Objects_and_properties">物件與屬性</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Working_with_Objects#Creating_new_objects">建立物件</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_methods">定義方法</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters">取值器與設值器</a></p> </li> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Details_of_the_Object_Model">深入了解物件模型</a></span> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Details_of_the_Object_Model">深入了解物件模型</a> <p><a href="/zh-TW/docs/Web/JavaScript/Guide/Details_of_the_Object_Model#Class-based_vs._prototype-based_languages">以原形(Prototype)為基礎的 OOP</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Details_of_the_Object_Model#Creating_the_hierarchy">建立物件層級</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Details_of_the_Object_Model#Property_inheritance_revisited">繼承</a></p> @@ -102,10 +102,10 @@ translation_of: Web/JavaScript/Guide </ul> <ul class="card-grid"> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Iterators_and_Generators">迭代器與產生器</a></span><a href="/zh-TW/docs/Web/JavaScript/Guide/Iterators_and_Generators#Iterators">迭代器(Iterator)</a><br> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Iterators_and_Generators">迭代器與產生器</a><a href="/zh-TW/docs/Web/JavaScript/Guide/Iterators_and_Generators#Iterators">迭代器(Iterator)</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Iterators_and_Generators#Iterables">可迭代型態(Iterable)</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Iterators_and_Generators#Generators">產生器(Generator)</a></li> - <li><span><a href="/zh-TW/docs/Web/JavaScript/Guide/Meta_programming">Meta 程式設計</a></span> + <li><a href="/zh-TW/docs/Web/JavaScript/Guide/Meta_programming">Meta 程式設計</a> <p><code><a href="/zh-TW/docs/Web/JavaScript/Guide/Meta_programming#Proxies">Proxy</a></code><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Meta_programming#Handlers_and_traps">Handler 與 Trap</a><br> <a href="/zh-TW/docs/Web/JavaScript/Guide/Meta_programming#Revocable_Proxy">Revocable Proxy</a><br> diff --git a/files/zh-tw/web/javascript/memory_management/index.html b/files/zh-tw/web/javascript/memory_management/index.html index defd71cce3..d63cb223ff 100644 --- a/files/zh-tw/web/javascript/memory_management/index.html +++ b/files/zh-tw/web/javascript/memory_management/index.html @@ -133,7 +133,7 @@ oa = null; // 現在把 oa 變成 null <h4 id="限制:循環">限制:循環</h4> -<p><span style='background-color: #ffffff; color: #333333; display: inline !important; float: none; font-family: "Open Sans","Clear Sans","Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 16px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap;'>當涉及到循環時有一個限制。在下面的例子中,創造兩個物件並相互參考,從而製作一個循環。當呼叫函式時,他們應該超出作用範圍,因此他們實際上是無用且可釋放。但垃圾回收參考計數演算法會認為,兩個物件都至少被參考一次,因此兩個都是不能被回收的。</span></p> +<p>當涉及到循環時有一個限制。在下面的例子中,創造兩個物件並相互參考,從而製作一個循環。當呼叫函式時,他們應該超出作用範圍,因此他們實際上是無用且可釋放。但垃圾回收參考計數演算法會認為,兩個物件都至少被參考一次,因此兩個都是不能被回收的。</p> <pre class="brush: js notranslate">function f() { var o = {}; @@ -149,7 +149,7 @@ f(); <h4 id="真實案例">真實案例</h4> -<p><span style='background-color: #ffffff; color: #333333; display: inline !important; float: none; font-family: "Open Sans","Clear Sans","Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 16px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap;'>Internet Explorer 6和7有一個DOM物件的垃圾回收參考計數。循環是一個造成記憶體洩漏(memory leaks)的常見問題:</span></p> +<p>Internet Explorer 6和7有一個DOM物件的垃圾回收參考計數。循環是一個造成記憶體洩漏(memory leaks)的常見問題:</p> <pre class="brush: js notranslate">var div; window.onload = function() { @@ -159,23 +159,23 @@ window.onload = function() { }; </pre> -<p><span style='background-color: #ffffff; color: #333333; display: inline !important; float: none; font-family: "Open Sans","Clear Sans","Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 16px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap;'>在上面的例子中,DOM 元素「myDivElement」在「circularReference」屬性中有一個循環參考。如果該屬性未被直接刪除或為零,垃圾回收參考計數將視其始終至少有一個參考保持不變,並將 DOM 元素保存在記憶體裡,即使它已從DOM 樹中移除。如果該 DOM 元素擁有大量資料(如同上面的例子中的 lotsOfData 屬性),則此資料所佔用的記憶體將永遠不會釋放。</span></p> +<p>在上面的例子中,DOM 元素「myDivElement」在「circularReference」屬性中有一個循環參考。如果該屬性未被直接刪除或為零,垃圾回收參考計數將視其始終至少有一個參考保持不變,並將 DOM 元素保存在記憶體裡,即使它已從DOM 樹中移除。如果該 DOM 元素擁有大量資料(如同上面的例子中的 lotsOfData 屬性),則此資料所佔用的記憶體將永遠不會釋放。</p> <h3 id="標記和清理演算法">標記和清理演算法</h3> -<p><span style='background-color: #ffffff; color: #333333; display: inline !important; float: none; font-family: "Open Sans","Clear Sans","Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 16px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap;'>這個演算法將「這個物件再也不會被使用」的定義縮減到「這個物件不可到達」。</span></p> +<p>這個演算法將「這個物件再也不會被使用」的定義縮減到「這個物件不可到達」。</p> -<p><span style='background-color: #ffffff; color: #333333; display: inline !important; float: none; font-family: "Open Sans","Clear Sans","Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 16px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap;'>這個演算法假設一組物件,其名為「根 (roots)」(在 JavaScript 中,根(roots)是全局物件)。垃圾回收器定期從這些根開始,尋訪所有被根參考的物件與那些物件參考的物件。垃圾回收器會回收那些沒有被尋訪的到物件。</span></p> +<p>這個演算法假設一組物件,其名為「根 (roots)」(在 JavaScript 中,根(roots)是全局物件)。垃圾回收器定期從這些根開始,尋訪所有被根參考的物件與那些物件參考的物件。垃圾回收器會回收那些沒有被尋訪的到物件。</p> -<p><span style='background-color: #ffffff; color: #333333; display: inline !important; float: none; font-family: "Open Sans","Clear Sans","Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 16px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap;'>這個演算法比前一個演算法更好,因為一個不被任何物件參考的物件,一定無法從根被尋訪到。然而,一個無法從根被尋訪到的物件,不一定不被任何物件參考,可以在循環的例子中發現這件事。</span></p> +<p>這個演算法比前一個演算法更好,因為一個不被任何物件參考的物件,一定無法從根被尋訪到。然而,一個無法從根被尋訪到的物件,不一定不被任何物件參考,可以在循環的例子中發現這件事。</p> -<p><span style='background-color: #ffffff; color: #333333; display: inline !important; float: none; font-family: "Open Sans","Clear Sans","Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 16px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap;'>截至2012年,所有現代瀏覽器都使用標記和清理的垃圾回收器。 在過去的幾年裡,JavaScript 垃圾回收領域的所有改進都是對這個演算法的實作與改進,但並未改進垃圾回收演算法本身,也沒有縮減垃圾的定義 「這個物件再也不會被使用」。</span></p> +<p>截至2012年,所有現代瀏覽器都使用標記和清理的垃圾回收器。 在過去的幾年裡,JavaScript 垃圾回收領域的所有改進都是對這個演算法的實作與改進,但並未改進垃圾回收演算法本身,也沒有縮減垃圾的定義 「這個物件再也不會被使用」。</p> <h4 id="循環不再是一個問題">循環不再是一個問題</h4> -<p><span style='background-color: #ffffff; color: #333333; display: inline !important; float: none; font-family: "Open Sans","Clear Sans","Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 16px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap;'>在上面的第一個範例中,函式呼叫返回後,那兩個物件不再被全局物件可以尋訪到的物件參考。 因此,它們將被垃圾回收器發現,視為不可達到的。</span></p> +<p>在上面的第一個範例中,函式呼叫返回後,那兩個物件不再被全局物件可以尋訪到的物件參考。 因此,它們將被垃圾回收器發現,視為不可達到的。</p> -<p><span style='background-color: #ffffff; color: #333333; display: inline !important; float: none; font-family: "Open Sans","Clear Sans","Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 16px; font-style: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap;'>第二個範例也是一樣的。 一旦 div 和它的處理程序從根本上無法尋訪,它們都會被垃圾回收掉,儘管他們自身相互參考。</span></p> +<p>第二個範例也是一樣的。 一旦 div 和它的處理程序從根本上無法尋訪,它們都會被垃圾回收掉,儘管他們自身相互參考。</p> <h4 id="限制:物件必須明顯的不可達到">限制:物件必須明顯的不可達到</h4> diff --git a/files/zh-tw/web/javascript/reference/global_objects/array/join/index.html b/files/zh-tw/web/javascript/reference/global_objects/array/join/index.html index 0beaecebdd..a43360caf5 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/array/join/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/array/join/index.html @@ -54,7 +54,7 @@ a.join(''); // 'WindRainFire'</pre> <pre class="brush: js">function f(a, b, c) { var s = Array.prototype.join.call(arguments); - console.log(s); // '<span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><span class="objectBox objectBox-string">1,a,true'</span></span></span></span> + console.log(s); // '1,a,true' } f(1, 'a', true); //expected output: "1,a,true" diff --git a/files/zh-tw/web/javascript/reference/global_objects/array/map/index.html b/files/zh-tw/web/javascript/reference/global_objects/array/map/index.html index d1838ce6ae..c87fa95064 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/array/map/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/array/map/index.html @@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/map --- <div>{{JSRef}}</div> -<p><span class="seoSummary"><code><strong>map()</strong></code> 方法會建立一個新的陣列,其內容為原陣列的每一個元素經由回呼函式運算後所回傳的結果之集合。</span></p> +<p><code><strong>map()</strong></code> 方法會建立一個新的陣列,其內容為原陣列的每一個元素經由回呼函式運算後所回傳的結果之集合。</p> <div>{{EmbedInteractiveExample("pages/js/array-map.html")}}</div> diff --git a/files/zh-tw/web/javascript/reference/global_objects/date/getday/index.html b/files/zh-tw/web/javascript/reference/global_objects/date/getday/index.html index abdc0e89a1..fb55827283 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/date/getday/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/date/getday/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/getDay --- <div>{{JSRef}}</div> -<p><span class="seoSummary"><strong><code>getDay()</code></strong> 方法會根據當地時間將指定日期返回一星期中的第幾天,</span>其中0代表星期日。 在當月的某天可以參考{{jsxref("Date.prototype.getDate()")}}。</p> +<p><strong><code>getDay()</code></strong> 方法會根據當地時間將指定日期返回一星期中的第幾天,其中0代表星期日。 在當月的某天可以參考{{jsxref("Date.prototype.getDate()")}}。</p> <div>{{EmbedInteractiveExample("pages/js/date-getday.html", "shorter")}}</div> diff --git a/files/zh-tw/web/javascript/reference/global_objects/date/index.html b/files/zh-tw/web/javascript/reference/global_objects/date/index.html index 91c0305aa4..9e5675e682 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/date/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/date/index.html @@ -34,7 +34,7 @@ new Date(<var>year</var>, <var>month</var>[, <var>day</var>[, <var>hour</var>[, <dl> <dt><code>value</code></dt> - <dd>自世界標準時間(UTC) 1970 年 1 月 1 日 00:00:00 開始的毫秒整數(Integer)值(Unix 紀元;但要注意到大多 Unix 時間<span class="short_text" id="result_box" lang="zh-CN"><span>戳記是以秒而非毫秒為單位)。</span></span></dd> + <dd>自世界標準時間(UTC) 1970 年 1 月 1 日 00:00:00 開始的毫秒整數(Integer)值(Unix 紀元;但要注意到大多 Unix 時間戳記是以秒而非毫秒為單位)。</dd> <dt><code>dateString</code></dt> <dd>表示時間日期的字串。這個字串應該要能被 {{jsxref("Date.parse()")}} 方法解析(符合 <a href="http://tools.ietf.org/html/rfc2822#page-14">IETF-compliant RFC 2822 timestamps</a> 及 <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15">version of ISO8601</a> 格式要求). <div class="note"> diff --git a/files/zh-tw/web/javascript/reference/global_objects/function/index.html b/files/zh-tw/web/javascript/reference/global_objects/function/index.html index b88c087b24..aaed1afc5c 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/function/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/function/index.html @@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Function <dt><code>arg1, arg2, ... arg<em>N</em></code></dt> <dd>function 的引數名稱必須要符合正規的命名。每個名稱都必須要是有效的 JavaScript 識別符號規則的字串,或是使用英文逗號「, 」分隔開的字串清單; 像是 "x", "theValue", 或是 "a, b'。</dd> <dt><code>functionBody</code></dt> - <dd><span class="_3oh- _58nk">包含 JavaScript 狀態以及 function 定義的字串。</span></dd> + <dd>包含 JavaScript 狀態以及 function 定義的字串。</dd> </dl> <h2 id="描述">描述</h2> diff --git a/files/zh-tw/web/javascript/reference/global_objects/math/index.html b/files/zh-tw/web/javascript/reference/global_objects/math/index.html index 7d7a6814e8..181af7319c 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/math/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/math/index.html @@ -41,7 +41,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math <h2 id="方法">方法</h2> <div class="note"> -<p>注意三角函數 <span style="font-size: 1rem; letter-spacing: -0.00278rem;">(</span><code style="font-style: normal; letter-spacing: -0.00278rem;">sin()</code><span style="font-size: 1rem; letter-spacing: -0.00278rem;">, </span><code style="font-style: normal; letter-spacing: -0.00278rem;">cos()</code><span style="font-size: 1rem; letter-spacing: -0.00278rem;">, </span><code style="font-style: normal; letter-spacing: -0.00278rem;">tan()</code><span style="font-size: 1rem; letter-spacing: -0.00278rem;">, </span><code style="font-style: normal; letter-spacing: -0.00278rem;">asin()</code><span style="font-size: 1rem; letter-spacing: -0.00278rem;">, </span><code style="font-style: normal; letter-spacing: -0.00278rem;">acos()</code><span style="font-size: 1rem; letter-spacing: -0.00278rem;">, </span><code style="font-style: normal; letter-spacing: -0.00278rem;">atan()</code><span style="font-size: 1rem; letter-spacing: -0.00278rem;">, </span><code style="font-style: normal; letter-spacing: -0.00278rem;">atan2()</code><span style="font-size: 1rem; letter-spacing: -0.00278rem;">) 的參數或回傳值的角度皆以弧度為單位。把角度乘上 </span><code style="font-style: normal; letter-spacing: -0.00278rem;">(Math.PI / 180)</code> 會得到弧度單位,將弧度除以該數則會轉換回一般所用的角度單位。</p> +<p>注意三角函數 (<code style="font-style: normal; letter-spacing: -0.00278rem;">sin()</code>, <code style="font-style: normal; letter-spacing: -0.00278rem;">cos()</code>, <code style="font-style: normal; letter-spacing: -0.00278rem;">tan()</code>, <code style="font-style: normal; letter-spacing: -0.00278rem;">asin()</code>, <code style="font-style: normal; letter-spacing: -0.00278rem;">acos()</code>, <code style="font-style: normal; letter-spacing: -0.00278rem;">atan()</code>, <code style="font-style: normal; letter-spacing: -0.00278rem;">atan2()</code>) 的參數或回傳值的角度皆以弧度為單位。把角度乘上 <code style="font-style: normal; letter-spacing: -0.00278rem;">(Math.PI / 180)</code> 會得到弧度單位,將弧度除以該數則會轉換回一般所用的角度單位。</p> </div> <div class="note"> diff --git a/files/zh-tw/web/javascript/reference/global_objects/object/defineproperty/index.html b/files/zh-tw/web/javascript/reference/global_objects/object/defineproperty/index.html index cf83590181..292b2dbe8e 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/object/defineproperty/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/object/defineproperty/index.html @@ -156,7 +156,7 @@ Object.defineProperty(o, 'conflict', { <p>如果該屬性已經存在, <code>Object.defineProperty()</code> 將會根據描述符內的值和物件當前的 configuration 來修改屬性。 如果舊的描述符之 <code>configurable</code> 的特徵為 false (屬性為 “non-configurable”), 那除了 <code>writable</code> 之外的特徵都將無法修改。 在這個情況,也不可能在 data 和 accessor 屬性類型中來回切換。</p> -<p>如果有一個屬性是 non-configurable, 那它的 <code>writable</code> 特徵只能被改變為 <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">false</span></font>.</p> +<p>如果有一個屬性是 non-configurable, 那它的 <code>writable</code> 特徵只能被改變為 <font face="consolas, Liberation Mono, courier, monospace">false</font>.</p> <p>若嘗試改變 non-configurable property attributes,將會丟出一個 {{jsxref("TypeError")}},除非當前之值與新值相同。</p> diff --git a/files/zh-tw/web/javascript/reference/global_objects/string/concat/index.html b/files/zh-tw/web/javascript/reference/global_objects/string/concat/index.html index 5a7e570860..3b274e3746 100644 --- a/files/zh-tw/web/javascript/reference/global_objects/string/concat/index.html +++ b/files/zh-tw/web/javascript/reference/global_objects/string/concat/index.html @@ -11,7 +11,7 @@ browser-compat: javascript.builtins.String.concat --- <div>{{JSRef}}</div> -<p><span class="seoSummary"><strong><code>concat()</code></strong> 會將呼叫此方法的字串以及作為參數傳遞進此方法的字串串接在一起,並將串接結果作為一個新的字串回傳。</span></p> +<p><strong><code>concat()</code></strong> 會將呼叫此方法的字串以及作為參數傳遞進此方法的字串串接在一起,並將串接結果作為一個新的字串回傳。</p> <div>{{EmbedInteractiveExample("pages/js/string-concat.html")}}</div> diff --git a/files/zh-tw/web/javascript/reference/index.html b/files/zh-tw/web/javascript/reference/index.html index 2ca85629ef..a4de78261c 100644 --- a/files/zh-tw/web/javascript/reference/index.html +++ b/files/zh-tw/web/javascript/reference/index.html @@ -15,14 +15,14 @@ translation_of: Web/JavaScript/Reference <p>本章節記錄了所有 <a href="/zh-TW/docs/Web/JavaScript/Reference/Global_Objects">JavaScript 標準內建物件</a> 以及其方法與屬性。</p> <ul class="card-grid"> - <li><span>數值屬性</span> + <li>數值屬性 <p>{{JSxRef("Infinity")}}<br> {{JSxRef("NaN")}}<br> {{JSxRef("undefined")}}<br> {{JSxRef("globalThis")}}</p> </li> - <li><span>函數屬性</span> + <li>函數屬性 <p>{{JSxRef("Global_Objects/eval", "eval()")}}<br> {{JSxRef("Global_Objects/isFinite", "isFinite()")}}<br> {{JSxRef("Global_Objects/isNaN", "isNaN()")}}<br> @@ -33,13 +33,13 @@ translation_of: Web/JavaScript/Reference {{JSxRef("Global_Objects/encodeURI", "encodeURI()")}}<br> {{JSxRef("Global_Objects/encodeURIComponent", "encodeURIComponent()")}}</p> </li> - <li><span>基礎物件</span> + <li>基礎物件 <p>{{JSxRef("Object")}}<br> {{JSxRef("Function")}}<br> {{JSxRef("Boolean")}}<br> {{JSxRef("Symbol")}}</p> </li> - <li><span>Error objects</span> + <li>Error objects <p>{{JSxRef("Error")}}<br> {{JSxRef("AggregateError")}}<br> {{JSxRef("EvalError")}}<br> @@ -53,18 +53,18 @@ translation_of: Web/JavaScript/Reference </ul> <ul class="card-grid"> - <li><span>數字與日期</span> + <li>數字與日期 <p>{{JSxRef("Number")}}<br> {{JSxRef("BigInt")}}<br> {{JSxRef("Math")}}<br> {{JSxRef("Date")}}</p> </li> - <li><span>文字處理</span> + <li>文字處理 <p>{{JSxRef("String")}}<br> {{JSxRef("RegExp")}}</p> </li> - <li><span>具索引的集合</span><a href="/en-US/docs/Web/JavaScript/Guide/Numbers_and_dates#Numbers"> </a>{{JSxRef("Array")}}<br> + <li>具索引的集合<a href="/en-US/docs/Web/JavaScript/Guide/Numbers_and_dates#Numbers"> </a>{{JSxRef("Array")}}<br> {{JSxRef("Int8Array")}}<br> {{JSxRef("Uint8Array")}}<br> {{JSxRef("Uint8ClampedArray")}}<br> @@ -76,7 +76,7 @@ translation_of: Web/JavaScript/Reference {{JSxRef("Float64Array")}}<br> {{JSxRef("BigInt64Array")}}<br> {{JSxRef("BigUint64Array")}}</li> - <li><span>具鍵值的集合</span> + <li>具鍵值的集合 <p>{{JSxRef("Map")}}<br> {{JSxRef("Set")}}<br> {{JSxRef("WeakMap")}}<br> @@ -85,7 +85,7 @@ translation_of: Web/JavaScript/Reference </ul> <ul class="card-grid"> - <li><span>結構化資料</span> + <li>結構化資料 <p>{{JSxRef("ArrayBuffer")}}<br> {{JSxRef("SharedArrayBuffer")}}<br> @@ -93,17 +93,17 @@ translation_of: Web/JavaScript/Reference {{JSxRef("DataView")}}<br> {{JSxRef("JSON")}}</p> </li> - <li><span>控制抽象化物件</span> + <li>控制抽象化物件 <p>{{JSxRef("Promise")}}<br> {{JSxRef("Generator")}}<br> {{JSxRef("GeneratorFunction")}}<br> {{JSxRef("AsyncFunction")}}</p> </li> - <li><span>Reflection</span> + <li>Reflection <p>{{JSxRef("Reflect")}}<br> {{JSxRef("Proxy")}}</p> </li> - <li><span>國際化</span> + <li>國際化 <p>{{JSxRef("Intl")}}<br> {{JSxRef("Global_Objects/Collator", "Intl.Collator")}}<br> {{JSxRef("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}}<br> @@ -116,7 +116,7 @@ translation_of: Web/JavaScript/Reference </ul> <ul class="card-grid"> - <li><span>WebAssembly</span> + <li>WebAssembly <p>{{JSxRef("WebAssembly")}}<br> {{JSxRef("WebAssembly.Module")}}<br> @@ -134,7 +134,7 @@ translation_of: Web/JavaScript/Reference <p>本章節記錄了所有 <a href="/zh-TW/docs/Web/JavaScript/Reference/Statements">JavaScript 敘述句與宣告</a>。</p> <ul class="card-grid"> - <li><span>流程控制</span>{{jsxref("Statements/block", "Block")}}<br> + <li>流程控制{{jsxref("Statements/block", "Block")}}<br> {{jsxref("Statements/break", "break")}}<br> {{jsxref("Statements/continue", "continue")}}<br> {{jsxref("Statements/Empty", "Empty")}}<br> @@ -142,19 +142,19 @@ translation_of: Web/JavaScript/Reference {{jsxref("Statements/switch", "switch")}}<br> {{jsxref("Statements/throw", "throw")}}<br> {{jsxref("Statements/try...catch", "try...catch")}}</li> - <li><span>宣告</span> + <li>宣告 <p>{{jsxref("Statements/var", "var")}}<br> {{jsxref("Statements/let", "let")}}<br> {{jsxref("Statements/const", "const")}}</p> </li> - <li><span>函數與類別</span> + <li>函數與類別 <p>{{jsxref("Statements/function", "function")}}<br> {{jsxref("Statements/function*", "function*")}}<br> {{jsxref("Statements/async_function", "async function")}}<br> {{jsxref("Statements/return", "return")}}<br> {{jsxref("Statements/class", "class")}}</p> </li> - <li><span>迭代</span> + <li>迭代 <p>{{jsxref("Statements/do...while", "do...while")}}<br> {{jsxref("Statements/for", "for")}}<br> {{jsxref("Statements/for_each...in", "for each...in")}}<br> @@ -166,7 +166,7 @@ translation_of: Web/JavaScript/Reference </ul> <ul class="card-grid"> - <li><span>Other</span> + <li>Other <p>{{jsxref("Statements/debugger", "debugger")}}<br> {{jsxref("Statements/import", "import")}}<br> @@ -181,7 +181,7 @@ translation_of: Web/JavaScript/Reference <div> <ul class="card-grid"> - <li><span>主要運算式</span>{{JSxRef("Operators/this", "this")}}<br> + <li>主要運算式{{JSxRef("Operators/this", "this")}}<br> {{JSxRef("Operators/function", "function")}}<br> {{JSxRef("Operators/class", "class")}}<br> {{JSxRef("Operators/function*", "function*")}}<br> @@ -194,20 +194,20 @@ translation_of: Web/JavaScript/Reference {{JSxRef("Global_Objects/RegExp", "/ab+c/i")}}<br> {{JSxRef("Operators/Grouping", "( )")}}<br> {{JSxRef("null")}}</li> - <li><span>左手邊運算式</span> + <li>左手邊運算式 <p>{{JSxRef("Operators/Property_accessors", "Property accessors", "", 1)}}<br> {{JSxRef("Operators/new", "new")}}<br> {{JSxRef("Operators/new%2Etarget", "new.target")}}<br> {{JSxRef("Operators/super", "super")}}<br> {{JSxRef("Operators/Spread_syntax", "...obj")}}</p> </li> - <li><span>遞增與遞減</span> + <li>遞增與遞減 <p>{{JSxRef("Operators/Arithmetic_Operators", "A++", "#Increment")}}<br> {{JSxRef("Operators/Arithmetic_Operators", "A--", "#Decrement")}}<br> {{JSxRef("Operators/Arithmetic_Operators", "++A", "#Increment")}}<br> {{JSxRef("Operators/Arithmetic_Operators", "--A", "#Decrement")}}</p> </li> - <li><span>一元運算子</span> + <li>一元運算子 <p>{{JSxRef("Operators/delete", "delete")}}<br> {{JSxRef("Operators/void", "void")}}<br> {{JSxRef("Operators/typeof", "typeof")}}<br> @@ -219,7 +219,7 @@ translation_of: Web/JavaScript/Reference </ul> <ul class="card-grid"> - <li><span>算術運算子</span> + <li>算術運算子 <p>{{JSxRef("Operators/Arithmetic_Operators", "+", "#Addition")}}<br> {{JSxRef("Operators/Arithmetic_Operators", "-", "#Subtraction")}}<br> @@ -228,7 +228,7 @@ translation_of: Web/JavaScript/Reference {{JSxRef("Operators/Arithmetic_Operators", "%", "#Remainder")}}<br> {{JSxRef("Operators/Arithmetic_Operators", "**", "#Exponentiation")}}</p> </li> - <li><span>關係運算子</span> + <li>關係運算子 <p>{{JSxRef("Operators/in", "in")}}<br> {{JSxRef("Operators/instanceof", "instanceof")}}<br> {{JSxRef("Operators/Comparison_Operators", "<", "#Less_than_operator")}}<br> @@ -236,13 +236,13 @@ translation_of: Web/JavaScript/Reference {{JSxRef("Operators/Comparison_Operators", "<=", "#Less_than_or_equal_operator")}}<br> {{JSxRef("Operators/Comparison_Operators", ">=", "#Greater_than_or_equal_operator")}}</p> </li> - <li><span>相等運算子</span> + <li>相等運算子 <p>{{JSxRef("Operators/Comparison_Operators", "==", "#Equality")}}<br> {{JSxRef("Operators/Comparison_Operators", "!=", "#Inequality")}}<br> {{JSxRef("Operators/Comparison_Operators", "===", "#Identity")}}<br> {{JSxRef("Operators/Comparison_Operators", "!==", "#Nonidentity")}}</p> </li> - <li><span>位元移位運算子</span> + <li>位元移位運算子 <p>{{JSxRef("Operators/Bitwise_Operators", "<<", "#Left_shift")}}<br> {{JSxRef("Operators/Bitwise_Operators", ">>", "#Right_shift")}}<br> {{JSxRef("Operators/Bitwise_Operators", ">>>", "#Unsigned_right_shift")}}</p> @@ -250,17 +250,17 @@ translation_of: Web/JavaScript/Reference </ul> <ul class="card-grid"> - <li><span>二元位元運算子</span>{{JSxRef("Operators/Bitwise_Operators", "&", "#Bitwise_AND")}}<br> + <li>二元位元運算子{{JSxRef("Operators/Bitwise_Operators", "&", "#Bitwise_AND")}}<br> {{JSxRef("Operators/Bitwise_Operators", "|", "#Bitwise_OR")}}<br> {{JSxRef("Operators/Bitwise_Operators", "^", "#Bitwise_XOR")}}</li> - <li><span>二元邏輯運算子</span> + <li>二元邏輯運算子 <p>{{JSxRef("Operators/Logical_Operators", "&&", "#Logical_AND")}}<br> {{JSxRef("Operators/Logical_Operators", "||", "#Logical_OR")}}</p> </li> - <li><span>條件(三元)運算子</span> + <li>條件(三元)運算子 <p>{{JSxRef("Operators/Conditional_Operator", "(condition ? ifTrue : ifFalse)")}}</p> </li> - <li><span>賦值運算子</span> + <li>賦值運算子 <p>{{JSxRef("Operators/Assignment_Operators", "=", "#Assignment")}}<br> {{JSxRef("Operators/Assignment_Operators", "*=", "#Multiplication_assignment")}}<br> {{JSxRef("Operators/Assignment_Operators", "/=", "#Division_assignment")}}<br> diff --git a/files/zh-tw/web/javascript/reference/operators/conditional_operator/index.html b/files/zh-tw/web/javascript/reference/operators/conditional_operator/index.html index 7391bcbe5d..c16dc0cff1 100644 --- a/files/zh-tw/web/javascript/reference/operators/conditional_operator/index.html +++ b/files/zh-tw/web/javascript/reference/operators/conditional_operator/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Operators/Conditional_Operator --- <div>{{jsSidebar("Operators")}}</div> -<p><span class="seoSummary"><strong>條件 (三元) 運算子</strong> 是 JavaScript 唯一用到三個運算元的運算子:在一個條件後面會跟著一個問號 (<code>?</code>),如果條件是 <a href="/en-US/docs/Glossary/truthy">truthy</a>,在冒號(<code>:</code>)前的表達式會被執行,如果條件是 <a href="/en-US/docs/Glossary/falsy">falsy</a>,在冒號後面的表達式會被執行,</span>這個運算子常常被用來當作 <a href="/en-US/docs/Web/JavaScript/Reference/Statements/if...else"><code>if</code></a> 的簡潔寫法.</p> +<p><strong>條件 (三元) 運算子</strong> 是 JavaScript 唯一用到三個運算元的運算子:在一個條件後面會跟著一個問號 (<code>?</code>),如果條件是 <a href="/en-US/docs/Glossary/truthy">truthy</a>,在冒號(<code>:</code>)前的表達式會被執行,如果條件是 <a href="/en-US/docs/Glossary/falsy">falsy</a>,在冒號後面的表達式會被執行,這個運算子常常被用來當作 <a href="/en-US/docs/Web/JavaScript/Reference/Statements/if...else"><code>if</code></a> 的簡潔寫法.</p> <div>{{EmbedInteractiveExample("pages/js/expressions-conditionaloperators.html")}}</div> @@ -23,7 +23,7 @@ translation_of: Web/JavaScript/Reference/Operators/Conditional_Operator <dt><code><var>exprIfTrue</var></code></dt> <dd>如果 <code><var>condition</var></code> 的值是 <a href="/en-US/docs/Glossary/truthy">truthy</a> (等於或是可轉換為 <code>true</code>) , <code><var>exprIfTrue</var></code> 會被執行</dd> <dt><code><var>exprIfFalse</var></code></dt> - <dd>如果 <code><var>condition</var></code> 的值是 <a href="/en-US/docs/Glossary/falsy">falsy</a> (等於或是可轉換為 <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">false</span></font>) , <code><var>exprIfFalse</var></code> 會被執行</dd> + <dd>如果 <code><var>condition</var></code> 的值是 <a href="/en-US/docs/Glossary/falsy">falsy</a> (等於或是可轉換為 <font face="consolas, Liberation Mono, courier, monospace">false</font>) , <code><var>exprIfFalse</var></code> 會被執行</dd> </dl> <h2 id="描述">描述</h2> diff --git a/files/zh-tw/web/javascript/reference/operators/optional_chaining/index.html b/files/zh-tw/web/javascript/reference/operators/optional_chaining/index.html index 945ec32efc..715161eca9 100644 --- a/files/zh-tw/web/javascript/reference/operators/optional_chaining/index.html +++ b/files/zh-tw/web/javascript/reference/operators/optional_chaining/index.html @@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Operators/Optional_chaining <div></div> -<p><strong>可選串連</strong>運算子 <strong><code>?.</code></strong> 允許進行深層次的物件值存取,而無需透過明確的物件值串連驗證。<span class="seoSummary"><code>?.</code> 運算子的操作與 <code>.</code> 屬性存取運算子相似,後者會在參照到 <a href="/zh-TW/docs/Glossary/nullish">nullish</a> ({{JSxRef("null")}} or {{JSxRef("undefined")}}) 的值時出現錯誤,而前者可選串連則回傳 <code>undefined</code> 。</span> 當需要存取一個函數,而這函數並不存在時,則會回傳 <code>undefined</code> 。</p> +<p><strong>可選串連</strong>運算子 <strong><code>?.</code></strong> 允許進行深層次的物件值存取,而無需透過明確的物件值串連驗證。<code>?.</code> 運算子的操作與 <code>.</code> 屬性存取運算子相似,後者會在參照到 <a href="/zh-TW/docs/Glossary/nullish">nullish</a> ({{JSxRef("null")}} or {{JSxRef("undefined")}}) 的值時出現錯誤,而前者可選串連則回傳 <code>undefined</code> 。 當需要存取一個函數,而這函數並不存在時,則會回傳 <code>undefined</code> 。</p> <p>當有機會存在參照不存在的時候,可選串連可以提供更簡短的表述式來進行串連性的屬性存取。這有助於在無法保證物件屬性為必要存在的狀況下,進行物件內容的探索。</p> 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 d1939e5d4f..585d340255 100644 --- a/files/zh-tw/web/javascript/reference/operators/typeof/index.html +++ b/files/zh-tw/web/javascript/reference/operators/typeof/index.html @@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Operators/typeof <h2 id="摘要">摘要</h2> -<p style="line-height: 22px;"><span style="line-height: 1.572;">typeof 運算子會傳回一個字串值, 指出未經運算 (unevaluated) 的運算元所代表的型別。</span></p> +<p style="line-height: 22px;">typeof 運算子會傳回一個字串值, 指出未經運算 (unevaluated) 的運算元所代表的型別。</p> <table class="standard-table" style="line-height: 22px;"> <thead> @@ -37,7 +37,7 @@ translation_of: Web/JavaScript/Reference/Operators/typeof <h2 id="Parameters" name="Parameters" style="margin: 0px 0px 0.8em; padding: 0px;">參數</h2> -<div><code style="line-height: inherit; font-size: 14px;"><em>operand</em></code><span style="line-height: inherit;"> 表示式代表傳入的物件或原始型別。</span></div> +<div><code style="line-height: inherit; font-size: 14px;"><em>operand</em></code> 表示式代表傳入的物件或原始型別。</div> <h2 id="Description" name="Description">說明</h2> diff --git a/files/zh-tw/web/javascript/reference/statements/block/index.html b/files/zh-tw/web/javascript/reference/statements/block/index.html index 62a09df015..384e3c1223 100644 --- a/files/zh-tw/web/javascript/reference/statements/block/index.html +++ b/files/zh-tw/web/javascript/reference/statements/block/index.html @@ -63,11 +63,11 @@ alert(x); // outputs 2 <p>當使用<code>let</code>或是<code>const</code>進行宣告時,其存取範圍是只有本身定義的區塊中。</p> -<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">let</span> x <span class="operator token">=</span> <span class="number token">1</span><span class="punctuation token">;</span> -<span class="punctuation token">{</span> - <span class="keyword token">let</span> x <span class="operator token">=</span> <span class="number token">2</span><span class="punctuation token">;</span> -<span class="punctuation token">}</span> -console<span class="punctuation token">.</span><span class="function token">log</span><span class="punctuation token">(</span>x<span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="comment token">// logs 1</span></code></pre> +<pre class="brush: js line-numbers language-js"><code class="language-js">let x = 1; +{ + let x = 2; +} +console.log(x); // logs 1</code></pre> <h4 id="function"><code>function</code></h4> diff --git a/files/zh-tw/web/javascript/reference/statements/export/index.html b/files/zh-tw/web/javascript/reference/statements/export/index.html index 195d4bed7f..3db47772e3 100644 --- a/files/zh-tw/web/javascript/reference/statements/export/index.html +++ b/files/zh-tw/web/javascript/reference/statements/export/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Statements/export --- <div>{{jsSidebar("Statements")}}</div> -<p><span class="seoSummary">用 <strong>export</strong> 可以指派函式、物件或變數,透過 {{jsxref("Statements/import", "import")}} 宣告給外部檔案引用。</span></p> +<p>用 <strong>export</strong> 可以指派函式、物件或變數,透過 {{jsxref("Statements/import", "import")}} 宣告給外部檔案引用。</p> <p>導出的模塊都會處於{{jsxref("Strict_mode","嚴謹模式")}},無論是否有所宣告。導出宣告無法使用嵌入式腳本(embedded script)。</p> diff --git a/files/zh-tw/web/javascript/reference/statements/import/index.html b/files/zh-tw/web/javascript/reference/statements/import/index.html index 7b3ef2402b..028366c36d 100644 --- a/files/zh-tw/web/javascript/reference/statements/import/index.html +++ b/files/zh-tw/web/javascript/reference/statements/import/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Statements/import --- <div>{{jsSidebar("Statements")}}</div> -<p><span class="seoSummary"><strong>import</strong> 宣告用於引入由另一個模塊所導出的綁定。</span>被引入的模塊,無論是否宣告{{jsxref("Strict_mode","strict mode","嚴謹模式")}},都會處於該模式。<code>import</code> 宣告無法用於嵌入式腳本(embedded scripts)。</p> +<p><strong>import</strong> 宣告用於引入由另一個模塊所導出的綁定。被引入的模塊,無論是否宣告{{jsxref("Strict_mode","strict mode","嚴謹模式")}},都會處於該模式。<code>import</code> 宣告無法用於嵌入式腳本(embedded scripts)。</p> <p>There is also a function-like dynamic <code><strong>import()</strong></code>, which does not require scripts of <code>type="module"</code>.</p> diff --git a/files/zh-tw/web/javascript/reference/statements/label/index.html b/files/zh-tw/web/javascript/reference/statements/label/index.html index 4939b7b95f..fc2614ab7d 100644 --- a/files/zh-tw/web/javascript/reference/statements/label/index.html +++ b/files/zh-tw/web/javascript/reference/statements/label/index.html @@ -86,7 +86,7 @@ for (i = 0; i < items.length; i++) { itemsPassed++; }</pre> -<h3 id="在_for_迴圈中使用帶標記的_break">在 <code>for</code> 迴圈中使用帶標記的 <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(255, 255, 255, 0.4);">break</span></font> </h3> +<h3 id="在_for_迴圈中使用帶標記的_break">在 <code>for</code> 迴圈中使用帶標記的 <font face="consolas, Liberation Mono, courier, monospace">break</font> </h3> <pre class="brush: js">var i, j; diff --git a/files/zh-tw/web/javascript/reference/statements/switch/index.html b/files/zh-tw/web/javascript/reference/statements/switch/index.html index b182da09b6..98aef7edf2 100644 --- a/files/zh-tw/web/javascript/reference/statements/switch/index.html +++ b/files/zh-tw/web/javascript/reference/statements/switch/index.html @@ -7,7 +7,7 @@ translation_of: Web/JavaScript/Reference/Statements/switch --- <div>{{jsSidebar("Statements")}}</div> -<div><span class="seoSummary"><strong><code>switch</code> 語句</strong> 會比對一個 <a href="/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators">表達式</a> 裡頭的值是否符合 <code>case</code> 條件,然後執行跟這個條件相關的 <a href="/en-US/docs/Web/JavaScript/Reference/Statements">陳述式</a>, 以及此一符合條件以外,剩下其他條件裡的陳述式。</span></div> +<div><strong><code>switch</code> 語句</strong> 會比對一個 <a href="/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators">表達式</a> 裡頭的值是否符合 <code>case</code> 條件,然後執行跟這個條件相關的 <a href="/en-US/docs/Web/JavaScript/Reference/Statements">陳述式</a>, 以及此一符合條件以外,剩下其他條件裡的陳述式。</div> <div></div> |