首页 > web前端 > js教程 > JavaScript 中的闭包是什么? (内部指南)

JavaScript 中的闭包是什么? (内部指南)

DDD
发布: 2024-11-22 03:42:24
原创
346 人浏览过

What Are Closures in JavaScript? (inute Guide)

JavaScript 中的闭包是什么?

闭包是 JavaScript 中的一个基本概念,看似棘手,但却非常强大。这是理解它们的快速指南。

什么是闭包?

当函数“记住”其词法作用域中的变量时,即使该作用域已经退出,也会创建闭包。

例子:

function outerFunction(outerVariable) {  
  return function innerFunction(innerVariable) {  
    console.log(`Outer: ${outerVariable}, Inner: ${innerVariable}`);  
  };  
}  

const myClosure = outerFunction("Hello");  
myClosure("World");  
// Output: Outer: Hello, Inner: World
登录后复制

这里,innerFunction 可以从outerFunction 的作用域访问outerVariable,即使在outerFunction 执行完毕之后也是如此。

为什么闭包有用?

数据隐私:创建私有变量。

function counter() {  
  let count = 0;  
  return function () {  
    count++;  
    return count;  
  };  
}  
const myCounter = counter();  
console.log(myCounter()); // 1
console.log(myCounter()); // 2  
登录后复制

部分应用:预填充函数参数。

function multiplyBy(multiplier) {  
  return function (number) {  
    return number * multiplier;  
  };  
}  
const double = multiplyBy(2);  
console.log(double(5)); // 10  
登录后复制

结论

闭包让函数记住它们的环境。它们非常适合 JavaScript 中的私有变量、部分应用程序和许多其他高级模式。

以上是JavaScript 中的闭包是什么? (内部指南)的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板