全局和局部变量js

时间:2018-01-28 07:38:26

标签: javascript variables scope global-variables

我定义了一个golbal变量:

var a;

我的代码中有两个函数:

function n1 {a=0;}
function n2 {alert(a);}

我尝试在另一个函数中使用第一个函数中的变量值,但我得到未定义的变量错误。 为什么我得到未定义的变量错误? 我读到了关于全球和本地的scop,但我对这个问题感到困惑。 我也试过这个并得到未定义的错误:

    function n1 {var a; a=0;}
    function n2 {alert(a);}

1 个答案:

答案 0 :(得分:-1)

你在调用函数n2之前调用了函数n1吗? 虽然变量是全局声明的,但它不会保留任何值,因此未定义。 函数n1()将初始化它,然后变量a将保持值0.然后,如果调用函数n2(),警告对话框将显示存储在变量a中的值,即0。 因此,存储在全局变量中的值可以在函数n2()中访问。

Attached the image of the code working correctly