值類型(基本數據類型)
數值類型
布爾類型
undefined
null
字符串
值類型是存儲在棧(stack)中的簡單數據,也就是說,它們的值直接存儲在變量訪問的位置。
var num = 10;
var str = "hello JS";
var flag = true;
var un = undefined;
var nu = null;
引用類型(復合數據類型)
對象
數組
函數
存儲在堆(heap)中的對象,也就是說,存儲在變量處的值是一個指針(point),指向存儲對象的內存處。
var arr = [1, 2, 3];
var p1 = {name:"張三", age:18};
var p2 = {
name:"李四",
age:50,
son:{
name:"李小一",
age:18
}
};
var p3 = {
name:"王五",
age:50,
children:[
{
name:"王小一",
age:20
},
{
name:"王小二",
age:15
},
{
name:"王小三",
age:12
}
]
}
上面定義的這些引用類型的數據在內存中的存儲如下