我正在尝试从函数e中的函数b获取变量d值,但结果不是函数b的值。结果仅来自函数b之外的变量。
var d = "maybe";
var a = 1;
function b() {
if (a == 1) {
var d = "yes";
} else {
var d = "no";
}
}
b();
function e() {
console.log(d); //output maybe
}
e();
如何将结果作为函数b的值,或等于“是”?
答案 0 :(得分:0)
定义变量时,您只需使用var
关键字。如果您想更改后面的变量,请不要使用var
。如果你这样做,你实际上会在函数内部创建一个新变量。所以你想要的代码是:
var d = "maybe";
var a = 1;
function b() {
if (a == 1) {
d = "yes";
} else {
d = "no";
}
}
b();
function e() {
console.log(d); // now it outputs yes
}
e();