面试题九:什么是闭包?什么是闭包函数?
七娃博客577人阅读
闭包的定义
闭包:函数内部可以访问函数外部的参数和变量,且该外部变量不会销毁。(一个函数存在于另一个函数中)
闭包函数:一个函数内部创建另一个函数,并把这个函数return出去,允许外部访问,这个“另一个函数”就是闭包函数。
闭包的作用:
1.让外部访问到内部变量;
2.隐藏变量,避免全局污染;
闭包缺点:
1.变量不被垃圾回收机智回收,导致内存消耗;
2.不恰当闭包导致内存泄露;
写一个不被全局变量污染的闭包自增函数?
function aa(){ var i = 0; function add(){ console.log(i++); } return add; } let bb = aa(); bb(); // 0 bb(); // 1 bb(); // 2
评论 | 0 条评论
登录之后才可留言,前往登录