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>