我在我的控制台中运行了此代码,但未定义。但是我希望它返回1
,因为函数2返回a,这是全局范围中的var。
你能解释一下我错在哪里吗?谢谢。
var a = 1;
function f1() {var a = 1; f2();}
function f2() {return a;}
f1();
答案 0 :(得分:3)
您没有使用f2
的返回值执行任何操作。你需要这样做:
var a = 1;
function f1() {var a = 1; return f2();} // NB pass the return value on
function f2() {return a;}
f1();