gpt4 book ai didi

JavaScript 理解某些闭包行为

转载 作者:搜寻专家 更新时间:2023-11-01 00:13:39 25 4
gpt4 key购买 nike

以下代码的输出是 12 12。

var omg = function(){

var space = {q:12} ;

var sq = [];

sq[0] = function(){
console.log(space.q);
space.q = 14;
};

sq[1] = function(){
console.log(space.q);
};



return sq;

};

omg()[0]();
omg()[1]();
~

为什么输出不是 12 14 ?!?

最佳答案

每个 omg() 调用都会返回一个新函数。因此,omg()[0]() 调用会更改该特定实例的 q 的本地值。我想如果你这样做:

var a = omg()
a[0]();
a[1]();

您将获得预期的输出。

关于JavaScript 理解某些闭包行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9288911/

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