Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript false==(x>;y)是如何工作的?_Javascript - Fatal编程技术网

Javascript false==(x>;y)是如何工作的?

Javascript false==(x>;y)是如何工作的?,javascript,Javascript,我在一本书中读到了这一点,我只是想知道它是如何工作的,如果你曾经做过这样的事情,你为什么会这样做。我知道你可以返回(x>y),但你为什么要返回false==(x>y)?这只是一种更详细的书写方式 x <= y 当然,这和写作是一样的 !(x > y) // an == true is implied here if you don't add it yourself x <= y x if(xy)) if((x>y)==false) 它们的评估结果都是一样的。这只是不

我在一本书中读到了这一点,我只是想知道它是如何工作的,如果你曾经做过这样的事情,你为什么会这样做。我知道你可以返回
(x>y)
,但你为什么要返回
false==(x>y)

这只是一种更详细的书写方式

x <= y
当然,这和写作是一样的

!(x > y)  // an == true is implied here if you don't add it yourself
x <= y
x
  • if(xy))
  • if((x>y)==false)

它们的评估结果都是一样的。这只是不同的写作方式。我通常更喜欢使用可读性更强的变量。

假设我们有三个变量,所有变量都采用二进制值。我们可以用它来实现一些结果。就像这样

例如:if(a==(b>c))表示第一个场景

 A   B    C
 0   0    0
 0   0    1
 0   1    0
 0   1    1
 1   0    0
 1   0    1
 1   1    0
 1   1    1

将不可变值放在==的左边,将变量放在右边,这是一种非常常见的构造。 这是为了防止你不小心漏掉一个等号。这样,编译器将突出显示您的错误

例如,您是否意外键入了

如果(a=true){…}

这将始终在大括号内执行代码,因为它将a的值设置为true

但是,如果您无意中键入

如果(true=a){…}

编译器应该提醒您,因为您无法更改true的值


尽管在这个特定的例子中,有更好的方法来编写表达式,而不需要双等号(参见前面的所有答案)

“如果
x
不大于
y
”。这是一种倒退的书写方式,
x它是…:你的回答虽然信息丰富,但没有抓住这个问题的重点。这里只有2个变量,OP不确定是否有一个奇怪的求值。你是对的,但如果我们必须使用两个运算符==&>,我们应该有3个变量,比如条件运算符。