Javascript 无法从函数内部更改全局变量的值
我试着用它,但对我不起作用。在我的例子中,我试图使用1函数保存一个变量,并从另一个函数调用它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
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的执行,但很难远程准确地知道代码的运行情况。