什么是闭包函数?举个例子解释下
时间: 2024-04-29 13:26:15 浏览: 150
举例讲解Go语言中函数的闭包使用
闭包函数是指在函数内部定义另一个函数,并且该内部函数可以访问到另一个函数的局部变量和参数,即使这个外部函数已经执行完毕,内部函数依然能够访问到外部函数中的变量。闭包函数可以用来封装变量,使得外部无法访问到内部的变量。例如,以下是一个简单的闭包函数示例:
```
function outerFunction() {
var outerVariable = 'Hello';
function innerFunction() {
console.log(outerVariable);
}
return innerFunction;
}
var inner = outerFunction();
inner(); // 输出 'Hello'
```
在这个例子中,outerFunction() 内部定义了一个名为 innerFunction() 的函数,该函数可以访问到 outerVariable 变量。outerFunction() 执行后,将 innerFunction() 函数作为返回值返回,然后在外部使用 inner 变量保存该函数。最后调用 inner() 函数时,依然能够访问到 outerVariable 变量。这就是闭包函数的基本原理。
阅读全文