記憶體的分類:
棧:全域性變數,區域性變數
堆:物件
變數:
值可以變化的量, 由變數名與變數值組成
乙個變數對應一塊小記憶體, 變數名用來查詢到記憶體, 變數值就是記憶體中儲存的內容
記憶體,資料, 變數三者之間的關係:
記憶體是乙個容器, 用來儲存程式執行需要操作的資料
變數是記憶體的標識, 我們通過變數找到對應的記憶體, 進而操作(讀/寫)記憶體中的資料
兩個引用變數指向同乙個物件(位址)時,通過乙個引用變數修改物件內部資料,另乙個引用變數也能看見
兩個引用變數指向同乙個物件, 讓乙個引用變數指向另乙個物件, 另乙個引用變數還是指向原來的物件
//2. 2個引用變數指向同乙個物件,讓乙個引用變數指向另乙個物件, 另乙個引用變數還是指向原來的物件
var obj3 =
var obj4 =obj3
obj3 =
console.log(obj4.name)
function
f2(obj)
}f2(obj4)
console.log(obj4.name)
//注意這裡也是tom
理解1只有值傳遞, 沒有引用傳遞, 傳遞的都是變數的值, 只是這個值可能是基本資料, 也可能是位址(引用)資料
理解2可能是值傳遞,也可能是引用傳遞(位址值)(如果後一種看成是引用傳遞, 那就值傳遞和引用傳遞都可以有)
4.1 記憶體生命週期
分配需要的記憶體----使用分配到的記憶體(儲存資料,可以反覆操作)----不需要時將其釋放/歸還
4.2釋放記憶體
(區域性變數)為執行函式分配的棧空間記憶體: 函式執行完自動釋放
(物件)儲存物件的堆空間記憶體: 當記憶體沒有引用指向時, 物件成為垃圾物件, 垃圾**器後面就會**釋放此記憶體
js中的資料,變數和記憶體
1.什麼是資料?儲存在記憶體中代表特定資訊的 東東 本質上是0101.資料的特點 可傳遞,可運算 一切皆資料 記憶體中所有操作的目標 資料 算術運算 邏輯運算 賦值 執行函式 2.什麼是記憶體?記憶體條通電後產生的可儲存資料的空間 臨時的 記憶體產生和死亡 產生記憶體空間 儲存資料 處理資料 斷電 ...
js中的資料,變數和記憶體
1 資料 存在記憶體中的代表特定資訊,本質上是0101,資料可傳遞,可運算 2 記憶體 記憶體條通電後產生的可儲存的資料空間 臨時的 記憶體產生和死亡 記憶體條 電路板 通電 產生記憶體空間 儲存資料 斷電 記憶體空間的資料都消失 記憶體中所有的操作目標 資料 算術運算,邏輯運算,賦值運算,執行函式...
js資料 變數和記憶體
1.什麼是資料 儲存在記憶體中代表特定資訊的 東東 本質上是二進位制編碼 資料的特點 可傳遞 可運算 一切皆資料 記憶體中的所有操作物件 資料 2.什麼是記憶體 記憶體條通電後產生可儲存資料的空間 臨時的 記憶體的產生和死亡 記憶體條 通電 產生記憶體空間 儲存資料 處理資料 斷電 記憶體空間和資料...