微信公众号:路人zhang
网站救助计划

1.为阅读体验,本站无任何广告,也无任何盈利方法,站长一直在用爱发电,现濒临倒闭,希望有能力的同学能帮忙分担服务器成本


2.捐助10元及以上同学,可添加站长微信lurenzhang888,备注捐助网站倒闭后可联系站长领取本站pdf内容


3.若网站能存活下来,后续将会持续更新内容

当前位置: 前端 > javascript高频面试题 > 17.如何理解闭包?

闭包是指有权访问另一函数作用域中的变量,创建闭包的最常见的方式就是在一个函数内创建另一个函数,创建的函数可以访问到当前函数的局部变量。

闭包的作用:

  • 在函数外部可以访问到函数内部的变量
  • 可使已经运行结束的函数上下文中的变量对象继续留在内存中,不会随着函数的结束而自动销毁。

闭包的缺陷:增大内存使用量,并且使用不当很容易造成内存泄露。

示例:

var count= 0;//全局作用域
function add(){
    var count = 1; // 函数作用域
    return function(){ 
        count += 1; // 闭包,可以访问到上级作用域中变量
        console.log(count)
    }
}
var s = add()
s(); // 访问的是函数add内部的变量,输出2

本站链接:https://www.mianshi.online如需勘误或投稿,请联系微信:lurenzhang888


点击面试手册,获取本站面试手册PDF完整版