我正在尝试确定当我用不同的值编写两个相同的确切变量名时会发生什么。
var helloWorld = 'Hello';
var helloWorld = 'HelloWorld';
我知道目前的价值是' HelloWorld'但第一个var helloWorld会发生什么?这只是重新分配?或者是垃圾收集的第一种情况?
答案 0 :(得分:2)
没有"第一个var"这里。两个var声明被提升为一个声明,第二个声明变成一个简单的赋值。旧值最终将被垃圾收集,如果它没有在其他任何地方被引用(这几乎是垃圾收集器所能达到的最小值)。