/** js中運算順序從右至左
* 注:當有'.'出現時,先進行該運算,是優先順序最高的運算子
* * 呼叫堆疊:存放原始資料型別
* 堆:儲存引用型別(堆可以儲存無序的資料)
**/let mynumber = 23;
/** newvar指向和mynumber相同的位址 **/
let newvar = mynumber;
/** 分配乙個位址(0034aaaah23),存放0012ccgwh80位址的值+1後的結果,mynumber改為指向該記憶體位址(0034aaaah23) **/
mynumber = mynumber + 1;
/** 驗證結果,mynumber(結果:24)不等於newvar(結果:23) **/
console.log(newvar === mynumber);
console.log(newvar);
console.log(mynumber);
/** 當記憶體中有23存在時,不分配新的記憶體位址,只是將test指向已存在的記憶體位址 **/
let test = 23;
/** 返回true **/
console.log(test === newvar);
let str1 = 'aaaa';
let str2 = 'aaaa';
/** 返回true **/
console.log(str1 === str2);
/** * 1.為變數建立唯一識別符號(myarray)
* 2.在記憶體中分配乙個位址(執行時分配)(棧中的位址)(0x00000001)
* 棧:(address:0x00000001,value:0d00000001)
* 堆:(address:0d00000001,value:)
*/const myarray = ;
堆和堆疊的區別
堆和堆疊的區別 一 預備知識 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os...
堆和堆疊的區別
一 預備知識 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料結...
堆和堆疊的區別
一 預備知識 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料結...