闭包和作用域
Posted thewings
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了闭包和作用域相关的知识,希望对你有一定的参考价值。
作用域和作用域链
作用域是针对变量的,比如我们创建了一个函数a,函数A里面又包含了一个函数b,那么现在就有三个作用域:
全局作用域>函数a作用域>函数b作用域
作用域的特点就是,先在自己的变量范围中查找,如果找不到,就会沿着作用域往上找,这个查找的过程就叫作用域链
闭包的概念
闭包就是能够读取其他函数内部变量的函数。
由于在javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。
所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。
闭包的用途
闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。
以上是关于闭包和作用域的主要内容,如果未能解决你的问题,请参考以下文章