猿问

关于js变量的问题

今天在写js的时候发现一个问题:

当我在一个函数中直接调用一个全局变量,并对他进行修改的时候,修改的结果在全局生效,代码:
$(function(){            var change = 0;
            alert(change);//0
            function go (){
                change+=10;
                alert(change);
            }
            alert(change);//0
            go(change);//10
            alert(change);//10
        })
而当我把变量作为参数传递给函数时,实际上在函数外面却没有生效,代码:
$(function(){            var change = 0;
            alert(change);            function go (change){
                change+=10;
                alert(change);
            }
            go(change);
            alert(change);
        })

该怎么解释,我是小白。。。


慕尼黑5688855
浏览 516回答 1
1回答

HUH函数

javascript的函数传参的形式是值传递和引用传递。引用类型的数据是引用传递,其他类型的数据都是值传递。你这传进去的是个数字,那当然是值传递,传进去的参数和外面的参数不是同一个。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答