在JavaScript中,閉包可以用來封裝私有變量和方法,同時還可以通過返回值來暴露公共接口。要在閉包中傳遞參數,您可以在定義函數時把參數放在函數的括號內,然后在調用閉包時將所需的參數傳遞給這個函數。
以下是一個簡單的例子,演示了如何在閉包中傳遞參數:
function outerFunction(param1, param2) {
return function innerFunction(param3) {
console.log("參數1: " + param1);
console.log("參數2: " + param2);
console.log("參數3: " + param3);
};
}
const closure = outerFunction("Hello", "World");
closure("JavaScript");
在這個例子中,outerFunction
接收兩個參數param1
和param2
,然后返回一個新的函數innerFunction
。innerFunction
接收一個參數param3
。當我們調用closure("JavaScript")
時,它將輸出:
參數1: Hello
參數2: World
參數3: JavaScript
在這個例子中,param1
和param2
的值在outerFunction
的作用域內是封裝的,而param3
是在innerFunction
的作用域內傳遞的。通過閉包,我們可以訪問和使用這些參數。