1 - 为什么当我运行下面的代码时,我得到了undefind而不是“a = 1”?我不明白范围
function f1(){a=1; f2();}
function f2(){return a;}
var a= 5;
a = f1();
alert(a);
像本实施例中的resualt是“A = 1”。
function f1(){a=1; f2();}
function f2(){alert(a);}
var a= 5;
f1();
1 - 为什么当我运行下面的代码时,我得到了undefind而不是“a = 1”?我不明白范围
function f1(){a=1; f2();}
function f2(){return a;}
var a= 5;
a = f1();
alert(a);
像本实施例中的resualt是“A = 1”。
function f1(){a=1; f2();}
function f2(){alert(a);}
var a= 5;
f1();
随着
a = f1();
要指定调用f1
到a
的结果。但是,f1
不返回任何内容,它的计算结果为undefined
。你需要使用一个return
声明:
function f1(){a=1; return f2(); }
顺便说一句,这不是一个范围问题。你没有任何变量对你的函数是局部的,所有东西都访问相同的a
。
你可能忘记了一个return语句,让您的值
function f1(){a=1; return f2();}
function f2(){return a;}
var a= 5;
a = f1();
alert(a);
f1
不返回任何东西,这就是为什么 试试下面
function f1(){a=1; return f2();}
function f2(){return a;}
var a= 5;
a = f1();
alert(a);
即使没有使大量的感
您需要明确从f1
返回。在第一示例
函数f1我以前不返回任何值,所以这是原因
在线路= F1(); f1函数没有返回任何东西,因此a被设置为undefined。
我不是积极的,你正在尝试做什么;如果你添加更多,我可以提出一个建议,让它做你想做的事。
f1()
不返回任何值。什么都不返回,就像返回undefined一样。
做得好谢谢 – yossi