function x() {
var a = 2;
y();
}
function y() {
a += 3;
}
x();
//returns a is not defined

如果我在函数(x)之外声明了一个函数(y),为什么它不会继承外部函数的变量和值?有解决上述问题的方法吗?
答案 0 :(得分:1)
变量a
被声明为function x()
的一部分。这就是a
仅在x()
内可用的原因。要解决此问题,您必须将变量a
作为函数参数传递:
function x() {
var a = 2;
y(a);
}
function y(a) {
a += 3;
console.log(a);
}
x();