无法从函数内部更改全局变量的值

Not able to change value of Global var from inside function

我尝试使用 this solution,但它对我不起作用。在我的例子中,我试图使用 1 个函数保存一个变量并从另一个

调用它
var postalcode = "code didn't change";

export function save_postal_code(code) {
        var localcode = code
        let postalcode = localcode;
        console.log(code);
}

export function get_postal_code() {
        console.log(postalcode);
        return postalcode;
}

save_postal_code 函数记录了正确的值,但 get_postal_code 函数没有。我不知道我做错了什么。

发生这种情况是因为您使用 let 关键字再次实例化变量(创建一个更直接的具有相同名称的局部变量)

删除 let 关键字应该可以解决您的问题

var postalcode = "code didn't change";

export function save_postal_code(code) {
        var localcode = code
        postalcode = localcode;
        console.log(code);
}

export function get_postal_code() {
        console.log(postalcode);
        return postalcode;
}

您在 save_postal_code() 中重新声明 postalcode 而不是更新其值。
代码需要进一步修改,但这超出了本答案的范围。
要在 save_postal_code() 内更新 postalcode,请尝试:

var postalcode = "code didn't change";

function save_postal_code(code) {
    let localcode = code
    postalcode = localcode;
}

function get_postal_code() {
    return postalcode;
}

save_postal_code("123")
console.log(get_postal_code())