闭包和作用域

Posted thewings

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了闭包和作用域相关的知识,希望对你有一定的参考价值。

作用域和作用域链

技术图片

作用域是针对变量的,比如我们创建了一个函数a,函数A里面又包含了一个函数b,那么现在就有三个作用域:
全局作用域>函数a作用域>函数b作用域
作用域的特点就是,先在自己的变量范围中查找,如果找不到,就会沿着作用域往上找,这个查找的过程就叫作用域链

闭包的概念

闭包就是能够读取其他函数内部变量的函数。

由于在javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。

所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。

闭包的用途

闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。



以上是关于闭包和作用域的主要内容,如果未能解决你的问题,请参考以下文章

闭包和作用域

作用域和闭包

作用域和闭包

JavaScript学习总结2--作用域和闭包

JavaScript作用域闭包简述

作用域和闭包闭包