gpt4 book ai didi

javascript - 它会在这种情况下生成 100 个不同的实例变量吗(JS vs C++)?

转载 作者:搜寻专家 更新时间:2023-10-31 01:49:50 26 4
gpt4 key购买 nike

我记得:
C++:

for(int i= 0; i< 100;i++)
{
int number= 3;
}

我们将有 100 个不同的同名实例变量(但占用的内存是一个变量的 100 倍。),但 C++ 中的变量是 block 作用域,因此这 100 个变量将在循环结束时被回收。
与 Javascript 相比:
JS:

for(var i=0; i < 100 ;i++)
{
var number= 3;
}
  1. 它会生成 100 个不同的变量吗?或者我们只有一个名为 number 的变量,其值为 3
    我的意思是这些变量实际占用了多少内存?

  2. 如果 for 循环没有被 function(){} 包装,回收提供变量的内存的机制是什么?

    <
  3. 好的,那是原始类型变量。如果变量是对象,会不会不一样?

最佳答案

JavaScript 中的变量 - 与 C 不同 - 是函数作用域的,因此您可以重复使用相同的变量:

  1. 只创建了一个变量。
  2. 如果不包含在函数中,number 将是全局的,但仍然只会创建一次。
  3. 值无关紧要。变量始终在函数范围内。

关于javascript - 它会在这种情况下生成 100 个不同的实例变量吗(JS vs C++)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15995910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com