JavaScript 中的闭包
JavaScript 中的闭包
闭包只是一个内部发生的概念。
在 JavaScript 中,一个 ** 关闭** 是一个从其内部范围引用外部范围内变量的函数。闭包将外部范围保留在其内部范围内。
考虑以下脚本:
如果我们按照常规的 JS 执行过程方法,我们得出的结论是输出将是 错误信息未定义。 但是,实际输出将是“Hi”。上述脚本中的这个问题导致解决方案关闭。
在执行上述代码期间,当 ** 返回说嗨** ;执行时,JS 引擎足够聪明,sayHi() 函数会使用其范围之外的变量,因此,它将这些变量放在单独的闭包框中。
考虑以下代码:
上面的代码输出不是我们想要的,我们希望每 i*1000 秒更新一次 i 并打印该值。我们可以使用两种方法来解决这个问题 ** IIFE** 形成封闭或使用 ** 让** 代替 ** 曾是。** 解决方法如下:
Using the let instead of var we can get desired output
Use IIFE with closure
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明