闭包

什么是闭包?简单来说,就是能访问其他函数内部变量的函数。因为正常情况下,我们想要访问其他函数内部的变量是不可能的,但通过闭包就能实现。

// 正常访问
var lan = 'yc';
function hello(){
  var name = 'Mr.Yang';
}
console.log(name)//很明显'undefined'

// 换成闭包
function hello(){
    var name = 'Mr.Yang';
    function demo(){
      console.log(name)//打印:Mr.Yang
    }
}

  

闭包的存在有利有弊

坏处:滥用闭包会造成死循环,造成内存冗余,页面卡顿等现象。---->处理方式:垃圾回收机制,及时清除、删除闭包。

好处:就是能访问其他函数内部的变量吗,这样爽歪歪的事就是好处啦。

原文地址:https://www.cnblogs.com/yangc6925/p/12838085.html