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>