gpt4 book ai didi

函数参数的javascript闭包在更新时不会反射(reflect)出来

转载 作者:行者123 更新时间:2023-11-30 11:55:31 25 4
gpt4 key购买 nike

我试图实现一个小的连接功能。它应该在参数中获取一个对象并将它们放入一个函数中。我期望应该始终使用最新的对象。看来不是真的。

let store = { type: 'initial' };

console.log(store);

function connect(param) {
const connected2 = function (fn) {

return function () {
return fn(param);
}
};
return connected2;
}

function execute(store) {
console.log(store);
}

const connected = connect(store)(execute);

connected(); // console => { type: 'initial' }
store = {type: 'updated'};
connected(); // console { type: 'initial' } but expect updated

最佳答案

execute 中的变量是一个参数,即局部变量。它不引用全局 store 变量。

要么删除参数并直接引用全局变量,要么更改对象的属性,例如store.type = "updated";.

无论如何,这种奇怪的功能安排有什么意义?

关于函数参数的javascript闭包在更新时不会反射(reflect)出来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38098400/

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