如下面的代码(var d = 8
)所示,我将变量d定义为8。但是,我没有做'八''d',为什么这是真的:8 === d
?
编辑:这是简单的数学,但是计算机科学和数学并不是一回事,我应该阅读===
的ECMAScript语法规则。我很抱歉在SO上问这么愚蠢的问题。
答案 0 :(得分:2)
因为一旦你将8分配给变量d 8 == d与说8 == 8
相同答案 1 :(得分:1)
d == 8
和8 == d
之间没有区别。他们都评估表达式8
和d
,并比较结果值。这就是所有编程语言的实际工作方式。
您似乎在解释X == Y
,因为测试是X设置为Y?。这不是比较表达式的工作方式,因为操作数可以是任意表达式。例如,你如何使用你的interpration来解释像x + 10 == y - 30
这样的东西,因为这两个操作数都不是一个简单的变量名?
答案 2 :(得分:0)
您正在创建名为d
的变量并将其值设置为8。因为左边的值等于右边的值,所以比较为真。在JavaScript中,== compares values。