闭包的作用

闭包的作用什么是闭包 闭包是可以访问其定义的 外部 范围的函数 因此 即使闭包函数终止 它也可以访问外部作用域中的值 例子 functiontake leti 0 returnfuncti returni 上面的代码表示一个函数返回另一个函数 但是 调用 takeOne 并获取后 incrementFun 即使已经终止 incrementFun takeOne 也会记住局部变量 takeOne 使用闭包

什么是闭包?

闭包是可以访问其定义的“外部”范围的函数,因此,即使闭包函数终止,它也可以访问外部作用域中的值。

例子:

function takeOne(){ let i = 0; return function incrementFunction(){ return i++; } } 

上面的代码表示一个函数返回另一个函数。但是,调用takeOne并获取后incrementFunctioon,即使已经终止incrementFunction,takeOne也会记住局部变量takeOne。

使用闭包的好处

闭包的第一个好处就是将局部变量保留在范围内。由于JavaScript函数是一等公民,因此开发人员经常会遇到名称冲突,这将倒是意外输出。使用闭包可以帮助将该范围内的名称空间保留为私有变量。可以在过去的jQuery代码中看到很多东西,其中定义了click方法。

$(function () { var selection = []; $('.something').click(function(){ //此闭包可以访问外部变量selections selections.push('something') //获取外部函数选择 }) }) 
for(var i = 0; i < 3; i++){ setTimeout (()=> console.log(i),3000); } 
function printSomething(i){ setTimeout(()=>console.log(i),3000) } for(var i = 0; i < 3;i++){ printSomething(i); } 

闭包的一般用例在于在异步环境中求解计算。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209602.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午8:51
下一篇 2026年3月19日 上午8:52


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号