JavaScript全局范围

时间:2011-03-20 11:17:03

标签: javascript

我在我的控制台中运行了此代码,但未定义。但是我希望它返回1,因为函数2返回a,这是全局范围中的var。

你能解释一下我错在哪里吗?谢谢。

var a = 1;
function f1() {var a = 1; f2();}
function f2() {return a;}
f1();

1 个答案:

答案 0 :(得分:3)

您没有使用f2的返回值执行任何操作。你需要这样做:

var a = 1;
function f1() {var a = 1; return f2();} // NB pass the return value on
function f2() {return a;}
f1();