开发人员工具控制台记录3表示a = 3,未定义表示var a = 3

yel*_*ddy 2 javascript developer-tools

在chrome Developer工具中,当我键入
a = 3 log 3var a = 3 log undefined时.

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

Lig*_*ica 5

因为就是这样.

声明开始var是声明.声明本身并不具有价值.他们告诉计算机做某事(创建一个变量,可选择一些初始值).

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

他们可以做到这一点,这var a = b是一个表达并评估的东西?当然可能.但是以这种方式屠杀语言语法绝对没有用.

阅读有关编程语言中的语句表达式的信息.