堆是動態分配記憶體,記憶體大小不一 棧是自動分配相對固定大小的記憶體空間,並由系統自動釋放
基本資料型別值是不可變的,比較是值的比較
基本資料型別,傳值。開闢乙個新的記憶體空間
js 基本資料型別,儲存在 棧 中,記憶體可以及時**
引用型別值是可變的,比較是引用的比較,看其引用是否指向同乙個物件
引用資料型別,傳址。儲存在棧中位址的賦值,兩個變數指向同乙個物件,兩者會相互影響
js 引用資料型別,儲存在 堆 中,引用資料 的指標 儲存在 棧, 當需要訪問引用型別的值時,需要先從棧中獲取物件的位址指標,然後通過位址指標找到堆中所需要的資料。
物件有 資料屬性和訪問器屬性
傳遞物件的引用,原始列表改變,被賦值列表也會改變。
let a1 = [1,2,3,[34,56]];
let a2 = [7,8,9];
a1 = a2; // 賦值
a1 === a2; // true
複製**
說明: window.name 獲取、設定視窗的名稱 window.open 開啟,查詢已命名視窗
let url = '';
let name = 'tyf';
open(url,name) //開啟乙個新的視窗,如果之前已經開啟過,則查詢
複製**
只拷貝一級元素的記憶體位址,即,基本資料型別與引用資料型別的指標。不會拷貝引用資料型別的內部物件
基本資料型別,引用資料型別,完全拷貝
淺拷貝 深拷貝和淺賦值 深賦值
include includeusing namespace std class string else 淺拷貝 也就是系統預設的拷貝,可寫可不寫。string const string s 預設的拷貝構造 深拷貝 string const string s string s2 s1 深賦值 str...
深拷貝 淺拷貝 賦值
賦值 class teacher class student student s1 new student student s2 s1 s1 s2,指向的記憶體區域相同 拷貝 class teacher class student implement cloneable student s1 new...
賦值 淺拷貝 深拷貝
什麼是深拷貝 使用json.parse json.stringify 是深拷貝 原理是josn物件中的stringify可以把乙個js物件序列化為乙個json字串,parse可以把json字串反序列化為乙個js物件,通過這兩個方法,也可以實現物件的深複製。但是這個方法不能夠拷貝函式。缺點 1 如果物...