对象中的属性(字符串,数值,布尔)是保存在哪里的
来源:18-2 题目讲解-1:何为变量提升?

qq_Wonderful_8
2020-02-19
老师您好
js中的一些 字符串,布尔,数值等类型都是保存在栈中
而对象数组,像这样的引用类型是保存在堆里面,那么对象里面的属性(字符串,数值,布尔)是保存在哪里,也是在栈里面么?
写回答
1回答
-
如果是 { a: 100 } 这样值类型的属性,和对象一起放在一个堆地址里。
如果是 { a: {x:100} } 这样引用类型的属性,由于 { x:100 } 是直接定义的,并没有引用,也放在一起。
如果是下面的代码,由于 b 是单独一个对象,会单独存放在一个堆地址里。而 obj.b 会引用这个堆地址。
const b = { y:200 } const obj = { b }
312020-02-20
相似问题