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

Javascript 无法从函数内部更改全局变量的值,javascript,velo,Javascript,Velo,我试着用它,但对我不起作用。在我的例子中,我试图使用1函数保存一个变量,并从另一个函数调用它 var postalcode = "code didn't change"; export function save_postal_code(code) { var localcode = code let postalcode = localcode; console.log(code); } export function g

我试着用它,但对我不起作用。在我的例子中,我试图使用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\u postal\u code()
内重新声明
postalcode
,而不是更新其值。
代码需要进一步修订,但这超出了本答案的范围。
要在
保存邮政编码()
中更新
邮政编码
,请尝试:

var postalcode=“代码未更改”;
功能保存邮政编码(代码){
让localcode=code
postalcode=本地代码;
}
函数get_posal_code(){
返回后代码;
}
保存邮政编码(“123”)

log(get_postal_code())
如果您能解释为什么这样做(他声明了一个与全局变量同名的新局部变量),这将大大改进这个答案。参考JS如何处理变量会更好:)我不确定您期望的是什么。您正在声明一个新的本地变量“postalcode”,因此它与全局变量无关StackOverflow中的代码段可以正常工作,但它不适用于我的网站。我正在使用Wix Velo制作我的网站,也许Wix有问题?Wix可能会限制JavaScript的执行,但很难远程准确地知道代码的运行情况。