gpt4 book ai didi

javascript - JS Closure 的变量值

转载 作者:行者123 更新时间:2023-11-30 16:27:48 26 4
gpt4 key购买 nike

你能解释一下当函数 a 第二次被调用时,变量 i 没有被重新初始化为零值是如何工作的吗?谢谢

var a = (function () {
var i = 0;
return function () {return i += 1;}
})();

a();
a();

最佳答案

a 的值不是在 var 语句中声明了 i 的函数。相反,a 是函数a 初始化期间被调用时返回 的函数。因此,a 是函数

function() { return i += 1; }

该函数中的 i 指的是封闭匿名函数中的 i。它本质上是 a 函数每次调用时都可以引用(和修改)的持久值。

关于javascript - JS Closure 的变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33836720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com