问答详情
源自:5-2 定义函数

在某个具体的函数中定义的变量可以在另一个函数中直接调用吗

比如在add1()中定义了变量a=1,可以在add2()中可以直接调用变量a吗

提问者:ImLea 2016-04-30 15:44

个回答

  • qq_云在风中_0
    2016-05-26 11:49:11

    <script type="text/javascript">
    var quanju = 0;//全局变量
    function rec(){
        var a = 1;//函数变量
        //quanju 可以在此使用
        function func_b(){
            var b = a;//a可以在此使用
            alert(b);
            //quanju 可以在此使用
        }
    	func_b();
    }
    function add2(){
       // a不能再这里使用
       //quanju 可以在此使用
       alert(quanju );
    }
    </script>

    仁兄,这就是JS的变态之处,函数里面嵌套函数,此函数只能在rec函数内部使用。js的变量分两种,一种是全局变量,这种变量一般在js文件开始的时候定义例如;

    <script type="text/javascript">
    var a = 0;//定义一个全局变量
    </script>

    这种变量在此JS里面任何一处均可以使用。它的作用域是针对整个js文件的。作用域是指这个变量的可见范围,就是你能用的范围。

    第二种就是函数内部变量,这种变量的作用域只是在函数内部,但是呢,招架不住函数里面嵌套函数,但是函数体的作用域就是那两个{}之间,所以,上面的例子,可是说明a可以在func_b()使用。

  • kuban
    2016-05-03 13:02:08

    嵌套的可以

  • brucelwl
    2016-04-30 16:10:54

    不可以,在add1() 定义的变量是属于add1(),其他方法无法访问, 除非使用全局变量