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

问题描述 投票:2回答:2

在chrome Developer工具中,当我输入时 a = 3 log 3但var a = 3 log undefined。

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

javascript developer-tools
2个回答
5
投票

因为就是这样。

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

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

他们能不能让var a = b成为一种表达并对其进行评估?当然可能。但是以这种方式屠杀语言语法绝对没有用。

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


3
投票

因为undefinedvar声明的结果。

语句实际上没有可以在代码中使用的“结果”,但程序有最终结果,并且控制台中的单行代码被评估为程序。

© www.soinside.com 2019 - 2024. All rights reserved.