值類型和引用類型

值類型(基本數據類型)

數值類型
布爾類型
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
        }
    ]
}

上面定義的這些引用類型的數據在內存中的存儲如下

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容