为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

3 回答

<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()使用。

2 回复 有任何疑惑可以回复我~

嵌套的可以

0 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信