• 技术文章 >web前端 >前端问答

    javascript有常量池吗

    长期闲置长期闲置2022-06-16 17:02:40原创243

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

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

    javascript有常量池吗

    javascript有常量池

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

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

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

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

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

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

    栈内存

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

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

    14.png

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

    扩展:

    堆内存

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

    15.png

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

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

    【相关推荐:javascript视频教程web前端

    以上就是javascript有常量池吗的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:javascript
    上一篇:bootstrap中有弹出层吗 下一篇:javascript有定义类的方法吗
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• JavaScript迭代器知识点总结• vue是javascript吗• JavaScript代码是嵌入到HTML中吗• JavaScript换行要用分号结束吗• javascript支持求余数的方法吗
    1/1

    PHP中文网