JavaScript中的拷贝传值和引用传值

拷贝传值和引用传值

拷贝传值:基本数据类型都是“拷贝传值”。

  • 拷贝传值,就是将一个变量的值“拷贝”一份,传给了另一个变量。

  • 拷贝传值完之后,两个变量之间没有任何联系,修改其中一个变量的值,另一个不会改变。

  • 这两个变量之间,是相互独立的,没有任何联系。

<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>php.cn</title>
        <script>
            var a=10;
            var b=a;
            a++;
            document.write("a的值为:"+a+"<br/>");
            document.write("b的值为:"+b);
        </script>
    </head>
    <body>
    </body>
</html>



引用传址:复合数据类型都是“引用传地址”

引用传址:将一个变量的数据地址,“拷贝”一份,传给另了另一个变量。这两个变量,指向“同一个地址”。

大家共享同一份数据。

如果其中一个变量的值发生了改变,那么,另一个变量的值也得变。要变一起变。

因此,这两个变量是有联系的,要变大家一起变。


<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>php.cn</title>
        <script>
            var arr1=[10,20,30,40];
            var arr2=arr1;
            arr1[1]=100;
            document.write("arr1[1]的值为:"+arr1[1]+"<br/>");
            document.write("arr2[1]的值为:"+arr2[1]);
        </script>
    </head>
    <body>
    </body>
</html>

 



继续学习
||
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script> var a=10; var b=a; a++; document.write("a的值为:"+a+"<br/>"); document.write("b的值为:"+b); </script> </head> <body> </body> </html>
提交重置代码