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>### ######################