JavaScript中原始值和引用值有什么本质区别,如何正确处理?

2026-04-05 17:561阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计475个文字,预计阅读时间需要2分钟。

JavaScript中原始值和引用值有什么本质区别,如何正确处理?

原始值 - 基本类型 + Number String Boolean undefined null + 存储在栈(stack)中的简单数据段,也就是它们的价值直接存储在变量访问的位置 + 动态语言 - 脚本语言 - 解释型语言 - 弱类型语言 + 静态语言

原始值->基本类型

Number String Boolean undefined null

存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置

动态语言->脚本语言->解释型语言->弱类型语言

静态语言->编译型语言->强类型语言

JavaScript中原始值和引用值有什么本质区别,如何正确处理?

null 空值 初始化组件 函数 销毁函数 占位

引用值

object array function date RegExp

如果一个值是引用类型的,那么它的存储空间将从堆中分配。由于引用值的大小会改变,所以不能把它放在栈中,否则会降低变量查寻的速度。相反,放在变量的栈空间中的值是该对象存储在堆中的地址。地址的大小是固定的,所以把它存储在栈中对变量性能无任何负面影响。

阅读全文

本文共计475个文字,预计阅读时间需要2分钟。

JavaScript中原始值和引用值有什么本质区别,如何正确处理?

原始值 - 基本类型 + Number String Boolean undefined null + 存储在栈(stack)中的简单数据段,也就是它们的价值直接存储在变量访问的位置 + 动态语言 - 脚本语言 - 解释型语言 - 弱类型语言 + 静态语言

原始值->基本类型

Number String Boolean undefined null

存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置

动态语言->脚本语言->解释型语言->弱类型语言

静态语言->编译型语言->强类型语言

JavaScript中原始值和引用值有什么本质区别,如何正确处理?

null 空值 初始化组件 函数 销毁函数 占位

引用值

object array function date RegExp

如果一个值是引用类型的,那么它的存储空间将从堆中分配。由于引用值的大小会改变,所以不能把它放在栈中,否则会降低变量查寻的速度。相反,放在变量的栈空间中的值是该对象存储在堆中的地址。地址的大小是固定的,所以把它存储在栈中对变量性能无任何负面影响。

阅读全文