闭包是指在一个函数中定义另一个函数,并返回这个函数,同时这个函数可以访问到外部函数的变量,即形成了一个封闭的作用域。

举个例子:

function outer() {
  var count = 0;
  function inner() {
    count++;
    console.log(count);
  }
  return inner;
}

var closure = outer();

closure(); // 输出 1
closure(); // 输出 2
closure(); // 输出 3

在这个例子中,outer()函数返回了inner()函数,并将其赋值给变量closure。当我们调用closure()时,它会访问到外部函数outer()的变量count,并且每次调用closure()都会使count加1并输出当前的值,形成了一个闭包。由于count变量只能被inner()函数访问,所以它被封闭在函数作用域内,不会被其他函数或代码所修改。

Go 闭包。举例子

原文地址: https://www.cveoy.top/t/topic/dxBb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录