在 JavaScript 中,高階函數 是一個函數,它要麼接受另一個函數作為參數,要麼返回一個函數作為結果。這些函數是函數式程式設計的基礎,可實現乾淨、模組化和可重複使用的程式碼。
高階函數是:
這使得 JavaScript 成為一種強大的函數式程式語言。
將函數作為參數傳遞可以實現自訂行為。
範例:使用 forEach 進行陣列迭代
const numbers = [1, 2, 3]; numbers.forEach(function(number) { console.log(number * 2); }); // Output: // 2 // 4 // 6
返回函數允許建立靈活且可重複使用的元件。
範例:函數工廠
function createMultiplier(multiplier) { return function(number) { return number * multiplier; }; } const double = createMultiplier(2); console.log(double(5)); // Output: 10 const triple = createMultiplier(3); console.log(triple(5)); // Output: 15
JavaScript 在其標準函式庫中提供了許多高階函數:
轉換數組的每個元素。
const numbers = [1, 2, 3]; const squared = numbers.map(function(number) { return number * number; }); console.log(squared); // Output: [1, 4, 9]
依條件過濾元素。
const numbers = [1, 2, 3, 4, 5]; const evenNumbers = numbers.filter(function(number) { return number % 2 === 0; }); console.log(evenNumbers); // Output: [2, 4]
透過應用函數將陣列減少為單一值。
const numbers = [1, 2, 3]; numbers.forEach(function(number) { console.log(number * 2); }); // Output: // 2 // 4 // 6
function createMultiplier(multiplier) { return function(number) { return number * multiplier; }; } const double = createMultiplier(2); console.log(double(5)); // Output: 10 const triple = createMultiplier(3); console.log(triple(5)); // Output: 15
const numbers = [1, 2, 3]; const squared = numbers.map(function(number) { return number * number; }); console.log(squared); // Output: [1, 4, 9]
const numbers = [1, 2, 3, 4, 5]; const evenNumbers = numbers.filter(function(number) { return number % 2 === 0; }); console.log(evenNumbers); // Output: [2, 4]
const numbers = [1, 2, 3, 4]; const sum = numbers.reduce(function(accumulator, currentValue) { return accumulator + currentValue; }, 0); console.log(sum); // Output: 10
掌握高階函數是編寫高效且富有表現力的 JavaScript 程式碼的關鍵。
嗨,我是 Abhay Singh Kathayat!
我是一名全端開發人員,擁有前端和後端技術的專業知識。我使用各種程式語言和框架來建立高效、可擴展且用戶友好的應用程式。
請隨時透過我的商務電子郵件與我聯繫:kaashshorts28@gmail.com。
以上是掌握 JavaScript 中的高階函數:解鎖函數式編程的詳細內容。更多資訊請關注PHP中文網其他相關文章!