JS的调用堆栈和堆

/** JS中运算顺序从右至左
 *  注:当有'.'出现时,先进行该运算,是优先级最高的运算符
 *
 *  调用堆栈:存放原始数据类型
 *  堆:存储引用类型(堆可以存储无序的数据)
 **/





/** 在内存中分配一个地址(假设该地址为:0012CCGWH80),将 23 存入,myNumber指向该地内存址(0012CCGWH80) **/
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)
 *  3.存储在堆上分配的内存地址的值(运行时分配)(堆中地址:0D00000001)
 *  4.给堆上的内存地址分配值(即:[])
 *  栈:(Address:0X00000001,Value:0D00000001)
 *  堆:(Address:0D00000001,Value:[])
 */
const myArray = [];

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页