我定义了一个golbal变量:
var a;
我的代码中有两个函数:
function n1 {a=0;}
function n2 {alert(a);}
我尝试在另一个函数中使用第一个函数中的变量值,但我得到未定义的变量错误。 为什么我得到未定义的变量错误? 我读到了关于全球和本地的scop,但我对这个问题感到困惑。 我也试过这个并得到未定义的错误:
function n1 {var a; a=0;}
function n2 {alert(a);}
答案 0 :(得分:-1)
你在调用函数n2之前调用了函数n1吗? 虽然变量是全局声明的,但它不会保留任何值,因此未定义。 函数n1()将初始化它,然后变量a将保持值0.然后,如果调用函数n2(),警告对话框将显示存储在变量a中的值,即0。 因此,存储在全局变量中的值可以在函数n2()中访问。