From 7c2556fe79c44d7c31108b8c8b048d2b7704a95e Mon Sep 17 00:00:00 2001 From: t7yang Date: Mon, 10 Jan 2022 08:38:04 +0800 Subject: remove span tag in zh-TW --- .../web/javascript/guide/functions/index.html | 44 +++++++++------------- 1 file changed, 18 insertions(+), 26 deletions(-) (limited to 'files/zh-tw/web/javascript/guide/functions') 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 ---

{{jsSidebar("JavaScript Guide")}} {{PreviousNext("Web/JavaScript/Guide/Loops_and_iteration", "Web/JavaScript/Guide/Expressions_and_Operators")}}

-

函式是構成javascript的基本要素之一。一個函式本身就是一段JavaScript程序—含用於執行某一個任務或計算的語法。要呼叫某一個函式之前,你必需先在這個函式欲執行的scope中定義它。

+

函式是構成javascript的基本要素之一。一個函式本身就是一段JavaScript程序—包含用於執行某一個任務或計算的語法。要呼叫某一個函式之前,你必需先在這個函式欲執行的scope中定義它。

-

定義函式

+

定義函式

-

一個函式的定義由一系列的函式關鍵詞組成, 依次為:

+

一個函式的定義由一系列的函式關鍵詞組成, 依次為:

 

-

例如,以下的程式碼定義了一個名為square的簡單函式:

+

例如,以下的程式碼定義了一個名為square的簡單函式:

function square(number) {
@@ -36,14 +28,14 @@ translation_of: Web/JavaScript/Guide/Functions
 
-

函式square有一個參數,叫作number。這個函式只有一行程式碼,它會回傳number自乘的結果。函式return 語法描述函式的返回值。

+

函式square有一個參數,叫作number。這個函式只有一行程式碼,它會回傳number自乘的結果。函式的 return 語法描述函式的返回值。

return number * number;
 
-

原始參數(例如一個數字)被作為值傳遞給函式,如果呼叫的函式改變了這個參數的值,不會影響到函式外部的原始變數

+

原始參數(例如一個數字)被作為值傳遞給函式,如果呼叫的函式改變了這個參數的值,不會影響到函式外部的原始變數。

-

如果傳遞一個物件(例如 Array 或自定義的其它物件)作為參數,而函式改變了這個物件的屬性,這樣的改變對函式外部是有作用的(因為是傳遞物件的位址),如下面的例子所示

+

如果傳遞一個物件(例如 Array 或自定義的其它物件)作為參數,而函式改變了這個物件的屬性,這樣的改變對函式外部是有作用的(因為是傳遞物件的位址),如下面的例子所示:

function myFunc(theObject) {
   theObject.make = "Toyota";
@@ -60,7 +52,7 @@ y = mycar.make;     // y 的值為 "Toyota"
                     // (屬性 make 被 function 改變)
 
-

請注意,重新給參數指定一個對象(物件),並不會對函式的外部有任何影響,因為這樣只是改變了參數的值,而不是改變了對象的一個屬性值:

+

請注意,重新給參數指定一個對象(物件),並不會對函式的外部有任何影響,因為這樣只是改變了參數的值,而不是改變了對象的一個屬性值:

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" 
-

儘管上述函式定義都是用的是陳述式,函式也同樣可以由函式表達式來定義。這樣的函式可以是匿名的;它不必有名稱。例如,上面提到的函式square也可這樣來定義:

+

儘管上述函式定義都是用的是陳述式,函式也同樣可以由函式表達式來定義。這樣的函式可以是匿名的;它不必有名稱。例如,上面提到的函式square也可這樣來定義:

var square = function(number) {return number * number};
 var x = square(4) //x 的值為 16
-
必要時,函式名稱可與函式表達式同時存在,並且可以用於在函式內部代指其本身(遞迴):
+
必要時,函式名稱可與函式表達式同時存在,並且可以用於在函式內部代指其本身(遞迴):
 
@@ -91,7 +83,7 @@ var x = square(4) //x 的值為 16 console.log(factorial(3)); -

函式表達式在將函式作為一個參數傳遞給其它函式時十分方便。下面的例子展示了一個叫map的函式如何​​被定義,而後呼叫一個匿名函式作為其第一個參數:

+

函式表達式在將函式作為一個參數傳遞給其它函式時十分方便。下面的例子展示了一個叫map的函式如何​​被定義,而後呼叫一個匿名函式作為其第一個參數:

function map(f,a) {
   var result = [], // Create a new Array
@@ -102,22 +94,22 @@ console.log(factorial(3));
 }
 
-

下面的程式碼呼叫map函式並將一個匿名函式傳入作為第一個參數:

+

下面的程式碼呼叫map函式並將一個匿名函式傳入作為第一個參數:

map(function(x) {return x * x * x}, [0, 1, 2, 5, 10]);
 // 結果會回傳 [0, 1, 8, 125, 1000]
 
-

除了上述的定義方式以外,我們也可以透過 Function constructor 來定義, 類似 eval().

+

除了上述的定義方式以外,我們也可以透過 Function constructor 來定義, 類似 eval().

呼叫函式

-

定義一個函式並不會自動的執行它。定義了函式僅僅是賦予函式以名稱並明確函式被呼叫時該做些什麼。呼叫函式才會以給定的參數真正執行這些動作。例如,一旦你定義了函式square,你可以如下這樣呼叫它:

+

定義一個函式並不會自動的執行它。定義了函式僅僅是賦予函式以名稱並明確函式被呼叫時該做些什麼。呼叫函式才會以給定的參數真正執行這些動作。例如,一旦你定義了函式square,你可以如下這樣呼叫它:

square(5);
 
-

上述程式碼把5傳遞給square函式函式執行完會回傳25。

+

上述程式碼把5傳遞給square函式。函式執行完會回傳25。

函式必須在呼叫區塊的可視範圍內,但函數也可以宣告在使用處的下面,如下列範例:

-- cgit v1.2.3-54-g00ecf