基本類型:Number Boolean String undefined null
引用類型:Object Function
* 基本類型的數據是存放在棧內存中的,而引用類型的數據是存放在堆內存中的
## eg1:基本類型復制變量值
~~~
var a = 10;
var b = a;
b = 20;
console.log(a); // 10值
~~~

> 也就是說,基本類型的復制就是在棧內存中開辟出了一個新的存儲區域用來存儲新的變量,這個變量有它自己的值,只不過和前面的值一樣,所以如果其中一個的值改變,則不會影響到另一個。
## eg2:引用類型
~~~
var obj1 = {age:19}
var obj2 = obj1;
obj2.name = "我有名字了";
console.log(obj1.name); // 我有名字了
~~~

> 定義了一個對象其實是在棧內存中存儲了一個指針,這個指針指向堆內存中該對象的存儲地址。復制給另一個對象的過程其實是把該對象的地址復制給了另一個對象變量,兩個指針都指向同一個對象,所以若其中一個修改了,則另一個也會改變。