Chrome浏览器控制台全局变量

时间:2016-07-28 13:13:03

标签: javascript google-chrome

我对浏览器控制台中局部变量和全局变量的区别有一点疑问,当我输入var a = 5并在Chrome浏览器控制台中按Enter键时,它返回undefined但是当我键入a = 5时没有返回任何内容。

2 个答案:

答案 0 :(得分:4)

这与本地变量和全局变量无关。只是控制台告诉你的是声明的结果。 var个语句没有结果,因此您会看到undefined。赋值语句 1 do 具有结果(指定的值),因此您可以看到该值。

如果你做了

var a = 5;
a

...您看到undefined后跟5

1 从技术上讲,它是一个包含赋值表达式表达式语句

答案 1 :(得分:0)

根据我的理解,当您编写a=5时,这将创建一个全局变量。所以它将成为window对象的一部分。因此,你得到它的价值。

执行var a = 5时,将创建一个新变量(引用),然后设置值。因此,您将获得undefined

您甚至可以尝试使用以下代码进行测试。

var a = {};
a.b = 5;

这将返回5而不是undefined