javascript - 关于js变量的问题

查看:85
本文介绍了javascript - 关于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);
        })

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

解决方案

javascript的函数传参的形式是值传递引用传递
引用类型的数据是引用传递,其他类型的数据都是值传递。
你这传进去的是个数字,那当然是值传递,传进去的参数和外面的参数不是同一个。

这篇关于javascript - 关于js变量的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆