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