-JavaScript 闭包 你真的系统的 理解了吗

60 阅读1分钟

闭包

1 概念

                函数内部定义的局部变量
                不能在 函数外部直接调用使用 

                通过 闭包的语法形式 操作使用 函数内部的 局部变量

2 为什么要有闭包

                实际项目中 定义的全局变量 非常容易被全局变量污染
                如果 定义全局变量 很容易被其他函数误操作

                实际项目中 为了保护全局变量不会被全局变量污染
                可以将 全局变量 定义为 局部变量

                通过 闭包的语法形式 操作调用使用 
                定义在函数内部的 局部变量

3 闭包的基本语法形式

                有个函数A 
                在 函数A 中 定义局部变量
                函数A 的 返回值 是 函数B
                在 函数B 中 操作函数A的 局部变量
                
                在 函数A外 调用函数A
                使用 变量储存 返回值

                变量中存储的是 函数A 的返回值 
                也就是函数B

                调用变量 就等于 调用函数B 就等于 操作函数A的局部变量

! 所谓的闭包语法

                就是为了保护全局变量 
                将 全局变量 定义为 局部变量
                再 通过 返回的函数 操作局部变量

                全局变量 定义成 局部变量
                函数的返回值 是 另一个函数
                操作 局部变量