1、闭包全面理解
一、什么是闭包:
闭包是指一个函数能够访问并且操作其外部作用域的变量,即使该变量在函数执行完后,也仍然存在于内存中,闭包通常由函数和定义他的词法环境组成。
二、闭包所具有的特性:
- 闭包可以访问其外部函数中的变量,即使外部函数以及执行完毕,变量仍然存在于内存中,
- 闭包可以将变量保存在内存中,并在多个函数调用之间共享这些变量
- 闭包可以用来创建私有变量和方法,从而实现封装
三、闭包对页面的影响:
- 闭包可以帮助减少全局变量的使用,从而减少命名冲突和代码混乱。
- 闭包可以提高代码的可读性和可维护性
- 闭包可能会造成内存泄漏,因为它可以让变量一直存在于内存中,导致内存溢出
- 闭包的性能可能会受到影响,因为它需要在内存中保存变量,并且需要额外的时间来访问这些变量
闭包的案例:
function outerFunction() { var outerVariable = 10; function innerFunction() { var innerVariable = 20; console.log(outerVariable + innerVariable); } return innerFunction; } var closure = outerFunction(); closure(); // 输出 30
案例介绍:
在上述代码中,outerFunction的内部定义了一个innerFunction函数,并将其作为了返回值返回。innerFunction中访问了outerVariable变量,这是因为内部函数可以访问其外部函数的变量与参数,即使外部函数已经返回执行完毕,这些变量仍然存在于内存中

浙公网安备 33010602011771号