【发布时间】:2018-06-04 14:37:11
【问题描述】:
几天前我注意到我的代码中有一个错误,但不知道为什么会发生。似乎在较低范围内定义的变量以某种方式跳到较高范围内。有人知道这里发生了什么吗?简化代码:
console.log(a)
for(var k = 0; k < 5; k++)
var a = 5
console.log(a)
第一个控制台日志总是打印 undefined 但是第二个控制台日志总是打印 5? 变量 a 不应该只存在于 for 循环的范围内,并且在 for 循环完成后从内存中清除吗?
【问题讨论】:
标签: javascript node.js express memory scope