前言
闭包在js里面是一个比较抽象的概念,但在面试里,是一个必问的话题,往往面试官希望你列举一些使用闭包的例子或手写一个闭包
闭包,简单一句话讲就是能够读取其他函数内部变量的函数,当需要函数内容部的变量被外部的代码所访问时...b = function() { // 定义函数b
n++; // n自加1
return n; // 返回n的值
}
return b; // a函数的返回结果值为函数...,其中被嵌套函数就可以称为是一个闭包
闭包的真正目的,就是要把局部的函数永久的保存下来,被外部的变量和代码所访问和使用
当a函数中内部的函数被a函数以外的函数所访问到,那就可以称为一个闭包
闭包最常见的用途就是把一个变量永久的保存下来...如果你把父函数当做对象使用,把闭包当做它的公有方法,把内部变量当做它的私有属性,这时候,要注意不要随便的改变父函数的内部变量的值
03
闭包的用途
对外提供公有属性和方法(也就是函数外部读取函数内的局部变量...,这个时候,我们就可以使用闭包
总结
闭包的概念比较抽象,但是在js里面是一个非常重要的知识点,涉及到如何访问读取和修改变量,可以对外提供公有的属性和方法,保存变量于内存当中,避免全局变量的污染