为什么变量声明的返回值是前一个语句的

时间:2017-01-10 14:10:04

标签: javascript jquery

为什么变量声明的返回值是前一个语句的?

"some text"; var x = 10;

在控制台日志中产生“some text”。

任何人都可以解释为什么会这样。这个字符串实际存储在哪里,因为它打印出的值与我给出的输入无关。

提前致谢。

1 个答案:

答案 0 :(得分:1)

总结在这个问题上积累的评论的雪堆:保罗爱尔兰昨天发推文:

  

JavaScript问题。为什么变量声明的返回值是前一个语句的? #confused

后跟此示例代码:

enter image description here

稍后,他转发了Brendan Eich的回复,其中字符串值代表语句完成值

语句完成值的概念有点奇怪,因为它们在实际的JavaScript编程领域中并没有真正任何事情。它是一个构造,指示运行时处理语句列表的方式。

在这种情况下,语句列表(在控制台中的一行上键入的语句列表)由表达式语句"omg";var声明和初始化var x = 4;组成。第一个表达式的完成值是表达式值,即字符串。 second 语句的完成值为空,构造语句列表的完成值的规则是该值应为字符串;基本上是最后一个不为空的陈述值。

现在,再说一遍:这些信息并不是特别有用。它确实解释了console系统的工作原理,我想这很好。当然,就语言语义而言,它是重要的东西,它不会影响日常的编程任务。

相关问题