【发布时间】:2010-11-04 19:38:52
【问题描述】:
换句话说,在 JavaScript 中分配内存需要哪些选项?
我知道您可以在全局范围内或在函数范围内分配内存。我可以动态分配内存吗? new 运算符的真正含义是什么?
编辑:这是一个具体的例子。您将如何实现从用户读取整数值 - n,然后将 n 整数读取到数组中?
【问题讨论】:
-
对于“特定示例”:只需
.push()中的值。const n = read()然后const arr = []; for (let i = 0; i < n; i += 1) { arr.push(read()) }。 JS 中的“数组”是内存意识语言中的“向量”。 -
对于以后看这个问题的人来说:对于像 JS 这样的语言,堆和堆栈不是该语言固有的,并且可能非常依赖于实现。 V8有堆和栈的分离,
null、undefined、true和false虽然很原始,但实际上是分配在堆上的。这个答案stackoverflow.com/a/6604390/1460448 有更多细节。对于一个普通的 JS 程序员来说,虽然这更像是实现细节。
标签: javascript