因为
在chrome Developer工具中,当我键入
a=3日志3时var a=3日志未定义。
为什么第一个语句返回3而不是第二个语句?
因为事情就是这样。
以var
开头的语句是一个声明。声明本身并没有价值。它们告诉计算机做一些事情(创建一个变量,可以选择带有一些初始值(。
但是赋值表达式是不同的。a = b
计算为(或"具有"(a
的新值,以便允许链接,例如a = b = c = d
。
他们能让var a = b
成为一个表达式并被评估为某种东西吗?当然,可能吧。但是,以这种方式屠杀语言语法绝对没有任何有用的价值。
阅读编程语言中的语句和表达式。
undefined
是var
语句的结果。
语句实际上没有可以在代码中使用的"结果",但程序有最终结果,控制台中的单行代码将作为程序进行评估。