JavaScript 函數:無返回值函數與有返回值函數
本文探討 JavaScript 中兩種類型的函數:無返回值函數(void functions)和有返回值函數(value-returning functions)。
無返回值函數 (Void Functions)
無返回值函數執行一系列操作,但不返回任何值。它們通常用於執行副作用,例如打印輸出或修改全局狀態。
函數的基本結構如下:
function functionName() { 语句; 语句; // ... }
一個無返回值函數示例:
function greet() { console.log("Hello, World"); }
調用函數(也稱為執行函數或調用函數)的方法:
greet();
值得注意的是,即使是無返回值函數,也隱式返回 undefined
。 以下是用箭頭函數表示的 greet
函數:
let greet = () => console.log("Hello, World");
帶參數的函數示例:
let greet = name => console.log(`Hello, ${name}`); // 输出:Hello, Monty greet("Monty"); let greet = (fname, lname) => console.log(`Hello, ${fname} ${lname}. How are you?`); // 输出:Hello, Monty Shokeen. How are you? greet("Monty", "Shokeen"); let greet = (fname, lname) => { let name = `${fname} ${lname}`; console.log(`Hello, ${name}`); }; // 输出:Hello, Monty Shokeen greet("Monty", "Shokeen");
箭頭函數是匿名函數,通過賦值給變量來命名。箭頭函數的優點之一是使代碼更簡潔。
一個無返回值的階乘函數示例:
function factorial(x) { let result = 1; while (x > 1) { result *= x; x -= 1; } console.log(result); } // 输出:3628800 factorial(10); // 输出:479001600 factorial(12); // 输出:6402373705728000 factorial(18);
有返回值函數 (Value-Returning Functions)
有返回值函數執行一系列操作並返回一個值。函數必須以 return
語句結尾。以下示例返回兩個數字的和:
function add(x, y) { return x + y; }
有返回值函數的一般形式:
function functionName() { 语句; 语句; // ... return 表达式; }
函數返回表達式的值。這種函數在需要將返回值存儲在變量中或在代碼的其他地方使用時非常有用。 如果計劃在代碼的其他地方使用函數的值,則應顯式地從函數返回該值。
一個有返回值的階乘函數示例:
function factorial(x) { let result = 1; while (x > 1) { result *= x; x -= 1; } return result; } // 输出:3628800 console.log(factorial(10)); // 输出:479001600 console.log(factorial(12)); // 输出:6402373705728000 console.log(factorial(18));
輸出結果與無返回值函數相同,區別在於返回值被 console.log
輸出。有返回值函數返回一個值,而無返回值函數返回 undefined
。
作用域 (Scope)
作用域是指程序中可以訪問變量的區域。在函數內部聲明的變量(包括函數參數)是局部變量。代碼塊也具有作用域,可以在其中創建局部變量。
不在代碼塊或模塊中聲明的變量是全局變量。如果需要全局變量,可以使用全局常量。否則,應盡量將代碼限制在模塊內,因為模塊有自己的作用域。更好的方法是使用模塊來組織代碼,使代碼結構清晰。
本文由 Monty Shokeen 貢獻更新。 Monty 是一位全棧開發者,熱愛編寫教程和學習新的 JavaScript 庫。
以上是學習使用JavaScript編碼:第4部分,功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!