无法从函数内部更改全局变量的值
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())
我尝试使用 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())