Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript循环中,如何在内存中管理块级分配?_Javascript_Memory_V8 - Fatal编程技术网

在JavaScript循环中,如何在内存中管理块级分配?

在JavaScript循环中,如何在内存中管理块级分配?,javascript,memory,v8,Javascript,Memory,V8,我很好奇JavaScript解释器管理块级变量的方式,比如let和const 假设我有一个循环: for (let i = 0; i < 100; i++) { const square = i * i; } for(设i=0;i

我很好奇JavaScript解释器管理块级变量的方式,比如
let
const

假设我有一个循环:

for (let i = 0; i < 100; i++) {
  const square = i * i;
}
for(设i=0;i<100;i++){
常数平方=i*i;
}
i
square
在哪里分配

我知道有一个框架堆栈;每个函数调用都会添加一个新的类似字典的对象,表示函数的词法上下文。当函数退出时,我们递减堆栈指针。这意味着我们可以使用变量运行函数,而不会在堆上创建垃圾

但是我们的块变量在哪里?我们是否要用另一项来扩充框架堆栈?它们是否“展平”到上下文中,但使用特殊的标志或符号将它们与同级块中的变量区分开来


最后,我在哪里可以大致了解JavaScript解释器(如V8)如何管理内存?

以下是一些很好的堆栈溢出答案,可能会对您有所帮助。




当然还有

我希望阅读这些内容可以帮助您了解更多有关javascript内存管理的信息。

以下是一些非常好的堆栈溢出答案,可能会对您有所帮助。




当然还有
我希望阅读这些内容将帮助您了解更多有关javascript内存管理的信息。

“我通常在哪里可以了解如何”可能在任何情况下“我通常在哪里可以了解如何”可能在任何情况下