开发人员工具控制台日志 3 for a=3 和 undefined for var a = 3

Developer tools console logs 3 for a=3 and undefined for var a = 3

在 chrome 开发者工具中,当我键入
a = 3 记录 3 但是 var a = 3 记录 未定义

为什么第一个语句 return 3 而第二个语句不是?

因为undefinedvar语句的结果。

语句实际上没有"result"可以在你的代码中使用,但是一个程序有一个最终的结果,你在控制台中的一行代码被评估为一个程序。

因为事情就是这样。

var 开头的语句是声明。声明本身并没有价值。他们告诉计算机做某事(创建一个变量,可选地具有一些初始值)。

但赋值表达式不同。 a = b 评估为(或 "has")a 的新值,以允许链接,例如 a = b = c = d.

他们能否做到 var a = b 是一个表达式并计算出某种东西?当然,可能。但是,以这种方式破坏语言语法绝对没有任何用处。

阅读编程语言中的语句表达式