对象中的属性(字符串,数值,布尔)是保存在哪里的

来源:18-2 题目讲解-1:何为变量提升?

qq_Wonderful_8

2020-02-19

老师您好
js中的一些 字符串,布尔,数值等类型都是保存在栈中
而对象数组,像这样的引用类型是保存在堆里面,那么对象里面的属性(字符串,数值,布尔)是保存在哪里,也是在栈里面么?

写回答

1回答

双越

2020-02-19

如果是 { a: 100 } 这样值类型的属性,和对象一起放在一个堆地址里。

如果是 { a: {x:100} } 这样引用类型的属性,由于 { x:100 } 是直接定义的,并没有引用,也放在一起。

如果是下面的代码,由于 b 是单独一个对象,会单独存放在一个堆地址里。而 obj.b 会引用这个堆地址。

const b = { y:200 }
const obj = { b }


3
1
qq_Wonderful_8
明白了,谢谢老师
2020-02-20
共1条回复

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4694 学习 · 1681 问题

查看课程