JavaScript 中的函數可以用幾種不同的方式定義:函數聲明、函數表達式、箭頭函數和匿名函數。
這是最常見的函數定義方式。
function greet(name) {
console.log("Hello, " + name + "!");
}
將函數賦值給變量。
const greet = function(name) {
console.log("Hello, " + name + "!");
};
用於簡潔地定義函數,特別是在匿名函數的情境下。
const greet = (name) => {
console.log("Hello, " + name + "!");
};
// 當函數體只有一行語句時,可以省略大括號
const greet = name => console.log("Hello, " + name + "!");
函數沒有名字,可以立即執行,也叫自調用函數。
(function() {
console.log("This is an anonymous function");
})();
函數呼叫是指執行函數定義的代碼。可以通過函數名稱加上括號來呼叫函數,並傳遞參數。
function greet(name) {
console.log("Hello, " + name + "!");
}
greet("Alice"); // Hello, Alice!
函數可以接受參數,參數在函數定義時指定,在函數呼叫時傳遞。
function greet(name) {
console.log("Hello, " + name + "!");
}
greet("Bob"); // Hello, Bob!
function add(a, b) {
return a + b;
}
console.log(add(2, 3)); // 5
可以為參數設置預設值,當呼叫函數時未傳遞該參數,將使用預設值。
function greet(name = "stranger") {
console.log("Hello, " + name + "!");
}
greet(); // Hello, stranger!
greet("Charlie"); // Hello, Charlie!
可以使用剩餘參數(...args
)來處理不定數量的參數。
function sum(...numbers) {
return numbers.reduce((total, num) => total + num, 0);
}
console.log(sum(1, 2, 3)); // 6
console.log(sum(4, 5, 6, 7)); // 22
函數可以使用 return
關鍵字返回值。返回值可以是任何類型,包括數字、字符串、物件、陣列、甚至是另一個函數。
function add(a, b) {
return a + b;
}
let result = add(2, 3);
console.log(result); // 5
function createUser(name, age) {
return {
name: name,
age: age
};
}
let user = createUser("Dave", 30);
console.log(user.name); // Dave
console.log(user.age); // 30
function createGreeting(greeting) {
return function(name) {
console.log(greeting + ", " + name + "!");
};
}
let greetHello = createGreeting("Hello");
greetHello("Eve"); // Hello, Eve!
let greetHi = createGreeting("Hi");
greetHi("Frank"); // Hi, Frank!
了解這些函數的基本概念和用法,可以幫助你更靈活地編寫和理解 JavaScript 代碼。