Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
面向初学者的javascript参数_Javascript - Fatal编程技术网

面向初学者的javascript参数

面向初学者的javascript参数,javascript,Javascript,为什么下面的代码不将变量a增加为1 var a =5; function abc(y){ y++; } abc(a); //a is 5 not 6 why? 但这是真的 var a = 5; function abc(){ a++; } abc(); //a is 6 因为在JavaScript中,原语值是通过值传递的 要获得要更新的值,您可以在对象上放置a,并利用对象是通过引用传递的这一事实(大多数情况下,确实传递了引用的副本,但我们不担心这一点): 因为在JavaS

为什么下面的代码不将变量a增加为1

var a =5;

function abc(y){
    y++;
}

abc(a);

//a is 5 not 6 why?
但这是真的

var a = 5;

function abc(){
a++;
}

abc();

//a is 6

因为在JavaScript中,原语值是通过值传递的

要获得要更新的值,您可以在对象上放置
a
,并利用对象是通过引用传递的这一事实(大多数情况下,确实传递了引用的副本,但我们不担心这一点):


因为在JavaScript中,原语值是通过值传递的

要获得要更新的值,您可以在对象上放置
a
,并利用对象是通过引用传递的这一事实(大多数情况下,确实传递了引用的副本,但我们不担心这一点):


它接受参数,但不返回任何值

y只是一个论点我建议两种方法


  • 它接受参数,但不返回任何值

    y只是一个论点我建议两种方法

  • 为了初学者的缘故

    简单地说,当您通过abc(a)调用函数时,“a”不会传递给函数abc,而是将其值复制到“y”。(它被称为传递值)。因为只有“y”增加,所以您看不到“a”的更新值

    看在初学者的份上


    简单地说,当您通过abc(a)调用函数时,“a”不会传递给函数abc,而是将其值复制到“y”。(它被称为传递值)。因为只有“y”增加,所以您看不到“a”的更新值

    格式化提示:列表中的代码必须为每个列表级别加上四个空格作为前缀。因此,在本例中,代码前面有8个空格。格式化提示:列表中的代码必须在每个列表级别的前面加上4个额外的空格。在本例中,代码前面有8个空格。
    var obj = { a: 5 };
    
    function  abc(o){
       o.a++;
    } 
    
    abc(obj);
    
    var a = 10
    
    function increase(){
       a++
    }
    
    increase();
    
    var a = 10;
    
    function increase(a){
       return a++; 
    }
    
    a = increase(a);