1 - 为什么当我运行下面的代码时,我得到了unfind而不是"a = 1"?
function f1(){a=1; f2();}
function f2(){return a;}
var a= 5;
a = f1();
?alert(a);?
Run Code Online (Sandbox Code Playgroud)
像这个例子,resualt是"a = 1".
function f1(){a=1; f2();}
function f2(){alert(a);}
var a= 5;
f1();
Run Code Online (Sandbox Code Playgroud)
同
a = f1();
Run Code Online (Sandbox Code Playgroud)
要指定调用的结果f1来a.然而,f1它没有返回任何东西,它评估为undefined.你需要使用一个return声明:
function f1(){a=1; return f2(); }
Run Code Online (Sandbox Code Playgroud)
顺便说一下,这不是范围问题.您没有任何本地函数的变量,一切都访问相同的变量a.
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |