Copie par valeur et référence par valeur en JavaScript
Copie par valeur et référence par valeur
Copie par valeur : Les types de données de base sont tous des "copies par valeur".
Copier par valeur signifie "copier" la valeur d'une variable et la transmettre à une autre variable.
Après avoir copié et transmis la valeur, il n'y a aucun lien entre les deux variables. Si la valeur d'une variable est modifiée, l'autre ne changera pas.
Ces deux variables sont indépendantes l'une de l'autre et n'ont aucun lien.
<!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>
Pass-by-reference : les types de données composites sont tous "pass-by-reference"
Pass-by-reference : "Copier" l'adresse des données d'une variable, passée à une autre variable. Ces deux variables pointent vers la « même adresse ».
Tout le monde partage les mêmes données.
Si la valeur d'une variable change, alors la valeur de l'autre variable doit également changer. Nous devons changer ensemble.
Par conséquent, ces deux variables sont liées et doivent être modifiées ensemble.
<!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>