美文网首页
引用传递与值传递

引用传递与值传递

作者: devil清风 | 来源:发表于2017-08-26 09:27 被阅读0次

    访问变量分引用传递和值传递

    值传递

    基本数据类型值的传递,就是将变量的值复制给另一个变量。这两个变量是完全独立的。另一个变量获得的只是一个副本。
    举个栗子:

    
    
            var num1 = 3;
            var num2 = num1; 
    

    复制前:

    num1 3(Number类型)

    复制后:

    num1 3(Number类型)
    num2 3(Number类型)

    也就是说,这两个变量可以参与任何操作都互不影响。

    引用传递

    当从一个变量向另一个变量的复制引用类型的值时,同样也会将存储在变量对象中的值复制一份到新变量分配的空间中。

    不同的是这个值的副本是一个指针,而指针指向存储在堆中的对象。所以,复制结束后两个变量将引用同一个对象。因此,其中一个变量被改变,另一个变量也会被影响。

    
            var obj1 = new Object();
            //引用传递
            var boj2 = obj1;
            obj1.name = "zhangsan";
            console.log(obj2.name);//"zhangsan"
    
    

    相关文章

      网友评论

          本文标题:引用传递与值传递

          本文链接:https://www.haomeiwen.com/subject/zqdmdxtx.html