首页  >  问答  >  正文

全局变量作为参数在函数内部如何赋值?

想通过直接将一个全局变量作为一个函数的参数,然后在函数的内部给这个参数赋值,而不是直接在函数内部给全局变量赋值,这样就不会写死,但是测试无法赋值。

s = 1;
a(s);
function a(m){
    e = m;
    b(e);
    function b(f){
        f = 2;
    }
}
alert(s);

这样的结果是s还是等于1。 我知道直接在函数里可以对s赋值,但是那样不就写死了吗,这样写要怎么才能给s赋值成2呢?方便以后可以传递不同的全局变量来使用。

按键盘手指磨破皮按键盘手指磨破皮2627 天前1980

全部回复(2)我来回复

  • Time丶Out

    Time丶Out2017-09-07 04:46:41

    JS 对象作用域,好好看下~

    回复
    0
  • 菜鸟-吉

    菜鸟-吉2017-09-04 08:24:51

    你没明白函数参数传递的内涵:值传递,也就是说S只是把1给了函数A,本身并没有参与进去。通俗点说:复制了一个S给函数,不管你怎么操作,是不会影响到S本身的。

    回复
    1
  • 取消回复