什么是闭包?
一个可以访问到别的函数作用域中变量的函数
优点:闭包可以让一个局部变量不会被回收,方便长期使用
缺点:闭包使用过多会造成内存泄漏
代码如下:
function show() {
let sum = 100;
return function () {
sum++;
console.log(sum);
}
}
let getShow = show();
getShow(); //101
getShow(); //102
getShow(); //103
调试:
1.在浏览器中 F12,找到 Sources ,再找你运行的文件
2.在方法前面打断点,刷新页面,F11是进入内部调试,F10进行调到下一步调试
3.在Call stack 是作用域,代码是在那一块执行,
scope Closure 是对应栈,值发生变化