面试官:聊聊JS基本类型和引用类型

本文探讨JavaScript的内存分类,栈内存与堆内存的区别,深入解析基本数据类型(如undefined, null, string, number, boolean, symbol)与引用类型(如Function, Object, Array等)的存储方式。在赋值操作中,基本类型在栈内存中创建新副本,而引用类型共享堆内存中的对象。最后提出了关于深复制和浅复制的问题。" 102302923,8432802,SpringBoot整合Dubbo实战指南,"['Dubbo', 'springboot', '微服务', '注册中心', '监控']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内存分类

  1. 栈内存

数据在栈内存中的存储方式,遵循后进先出的原则。栈内存包括了变量的标识符和变量的值,在栈内存中存储的数据的大小及生存周期是必须确定的

var a = 2

a 即是变量标识符
2 即是变量的值
  1. 堆内存

数据在堆内存中存储的顺序随意,堆内存用来存放所有引用类型的的数据,它的存储空间较大,在栈内存中存储的数据的大小无需固定。

var obj = {
  name: "小仙女",
  sex: "女"
}

obj 即是变量的标志
对应的值是指向 obj 的地址

看个简单的例子:

// 例子1
console.log(b)
function b() { }
var b = 2

// 例子2
console.log(b)

var b = 2

function b() { }
  1. 引用即地址

基本数据类型

在 JavaScript 中有 undefine

博客
v8worker
05-08 2931
05-06 2915
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值