1.什么是“关闭”。
2.“闭合”的作用是什么。
假设以上三行代码是在立即执行的函数中执行的(为简洁起见,我不会立即编写该函数,这会影响读者的理解)。在三个 - 行代码中,有一个本地变量,带有可以在变量中访问的函数。okay,这是一个关闭:
函数内部可以访问的“函数”和“变量的总和”是一个封闭。这很简单。一些学生感到困惑。关闭是如此简单吗?例如:
确实有一个封闭,变量和函数形成一个。
为什么函数集函数?
这是因为它需要局部变量,因此将其放置在函数中。如果没有将其放置在函数中,则是一个全局变量,并且使用闭合的目的不可用 - 隐藏变量(等待)。
这就是为什么我说:“以立即执行的功能运行。”
当某些人看到“闭合”这个名称时,他们必须感觉到使用什么。实际上,这是一个翻译问题。最初的关闭是它与“袋子”无关。
因此,函数集函数只是创建一个局部变量,该变量与闭合无关。
为什么返回栏?
因为如果没有,您将无法使用此封闭。只要您可以在外部访问此条函数,则可以更改它。
因此,仅使用它,它与封闭无关。
封闭的安装
封闭通常用于“间接访问变量”。换句话说,“隐藏变量”。
假设我们正在制作游戏,并且我们正在编写有关“仍然有生命”的代码。
如果您不需要关闭,则可以直接使用全局变量:
这看起来非常不合适。如果您将此值意外地更改为-1。因此,我们不能让其他人“直接访问”该变量。如何做?
使用本地变量。
但是,如果其他人无法使用本地变量访问它,我该怎么办?
登录器(功能)的暴露使其他人可以“间接访问”。
代码显示如下:
为了简洁起见,我使用了中文:)
然后在其他JS文件中,您可以利用自己的生活,使角色失去生命。
看看关闭在哪里?
第一个句子是一个变量语句,第二句话是功能声明,第三句是。
我学到了每句话。我为什么看不到封闭?
我告诉您答案,您根本不需要知道关闭的概念,您可以使用封闭!
闭合是通过JS函数范围的生产。
换句话说,这正是因为该函数外部的变量可以在JS函数内使用,因此该代码与闭合的定义一致。
许多编程语言也支持关闭,某些语言不支持封闭。
只要您了解JS的范围,即使您不知道它已关闭,您也会自然了解关闭!