吊装:
console.log(h)
var h = 1
这将返回undefined
,因为声明已移到顶部,但是该值是在console.log()
之后分配的,就像这样:
var h;
console.log(h)
h = 1
现在返回1,这是我不理解的,因为据我所知它应该与上面的完全相同
说明:为什么在第一个示例中,console.log()
作为函数不能访问全局变量h
?
如果某人可以在这里帮助我,我会感到非常高兴。 谢谢!
答案 0 :(得分:0)
实际上这两个案例是相似的,那么这里发生了什么?
我认为您对控制台有所迷惑。无论如何执行命令时,控制台始终会记录一些内容。您可以阅读此Python2 docs,以更好地了解在执行h=1;
和var h=1;
时控制台默认返回的内容。
在第一个示例中,为什么console.log()函数不能访问全局变量?:
它实际上访问全局h
变量。但是由于尚未为h分配任何值,所以console.log返回undefined
基本上意味着h
变量存在,但其值未定义。如果找不到h
变量,则会返回一条错误消息,提示h is not defined
可能会引起混淆,但与undefined