关于闭包及其应用场景

闭包是什么:

       

function fn1(){ 
    return function fn2() {}; 
}

x = fn1()

x()

闭包为什么出现:

        因为 js 外层无法访问到函数内部的变量

闭包怎么形成的:

        作用域链,当前作用域可以访问上级作用域中的变量;且全局变量只有页面关闭才销毁

缺点:

        易造成内存泄漏

应用场景:

        柯里化:

  

        埋点计数器(应用于计算网站个页面访问次数):

  
  
  

你可能感兴趣的:(JS,html5,javascript,html)