其他分享
首页 > 其他分享> > JS的调用堆栈和堆

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 = [];

 

标签:调用,log,23,newVar,地址,myNumber,堆栈,JS,内存地址
来源: https://blog.csdn.net/qq_41947857/article/details/100138172