javascript有没有常量池

蜗牛 互联网技术资讯 2022-06-17 17 0

这篇文章主要介绍“javascript有没有常量池”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“javascript有没有常量池”文章能帮助大家解决问题。

JavaScript中有常量池;JavaScript的内存空间分为栈、堆、池、队列,其中池指的就是常量池,常量值是用于存放常量的基本数据类型,一般将常量池归类到栈内存中,常量池内的数据类型占用空间少、大小固定并且频繁使用,所以系统效率较高。

本教程操作环境:windows10系统、javascript1.8.5版、Dell G3电脑。

javascript有常量池吗

javascript有常量池

JavaScript内存空间分为:    栈,堆,池,队列。

栈内存:用来存储基本数据类型

常量池:用来存放常量 基本数据类型(一般把它归类到栈内存中)

堆内存:用来存储引用数据类型

当变量存储的基本数据类型时,该变量的值则存储在栈内存中

当变量存储的是引用数据类型时,该变量值则存储的是一个系统分配的内存地址,而真正的引用数据类型则存放在堆内存中,而内存地址指向了在堆内存中的引用数据类型

栈内存

以基本数据类型之一的数值型(Number)为例:

当我们声明一个基本数据类型变量时,会在栈内存中存储变量名和具体值

javascript有没有常量池  javascript 第1张

当我们使用console.log(a) 时,我们输出的是对应的值

扩展:

堆内存

let a={1,2,3}
let b={m:20}

javascript有没有常量池  javascript 第2张

上图我们可以看到,变量a1为基本数据类型,而变量b,c为引用数类型,b,c在栈中存放的并不是变量的值,而是系统分配的一个内存引用地址,真正的数据存放在堆内容中

当我们声明变量来存储一个引用数据类型时,会在栈内存中生成一个变量名和一个具体值,而这个具体值是系统分配的一个内存引用地址,这个地址指向了存放在堆内存中,我们所创建的引用数据类型。当我们调用该变量时,解析器会根据变量对应的引用地址,引用对应的对象。

关于“javascript有没有常量池”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注蜗牛博客行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论