一、基本數據類型
當把基本數據類型的變量賦值給另外一個變量時,修改其中一個變量的值,不會影響另外一個變量的值,看下面的例子:
從截圖中可以看出,修改了a的值,b的值不會變化。
基本數據類型可以理解為雙胞胎,一個改變,另外一個不一定改變。
二、引用類型
當把引用類型的變量賦值給另外一個引用類型變量時,修改其中一個變量的值,另外一個變量的值也會隨之改變,看下面的例子:
object類型的變量:
因為兩個變量都是指向內存中的同一塊地址,所以其中一個修改另外一個也好隨之改變,可以理解成人和人的影子。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>基本數據類型和引用類型的區別</title> <script> window.onload=function(){ // 基本數據類型 var a=10; var b=a; //b=10 a=20; console.log(b); // 引用類型 var arr1=[1,2,3,4,5]; var arr2=arr1; //arr2=[1,2,3,4,5] arr2[1]=23; console.log(arr1); var obj1={name:"tom"}; var obj2=obj1; obj2.name="jack"; console.log(obj1.name); }; </script> </head> <body> </body> </html>