Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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 为什么是15>;10>;5错?_Javascript - Fatal编程技术网

Javascript 为什么是15>;10>;5错?

Javascript 为什么是15>;10>;5错?,javascript,Javascript,下面的javascript函数输出为false,为什么会导致false console.log(15 > 10 > 5); 因为比较运算符需要两个操作数。首先,代码计算15>10,返回true,然后计算true>5,显然返回false从左到右取两个操作数并关联。这意味着表达式15>10>5的计算结果为(15>10)>5 15>10的计算结果显然为true true>5对它的评估方式并不明显 幸运的是,说明了当值具有不同类型时如何转换这些值: 如果其中一个操作数是布尔操作数,则布尔操

下面的javascript函数输出为
false
,为什么会导致false

console.log(15 > 10 > 5);

因为比较运算符需要两个操作数。首先,代码计算
15>10
,返回
true
,然后计算
true>5
,显然返回
false
从左到右取两个操作数并关联。这意味着表达式
15>10>5
的计算结果为
(15>10)>5

15>10
的计算结果显然为
true

true>5
对它的评估方式并不明显

幸运的是,说明了当值具有不同类型时如何转换这些值:

如果其中一个操作数是布尔操作数,则布尔操作数在为真时转换为
1
,在为假时转换为
+0


这意味着
true>5
的评估方法与
1>5
的评估方法相同,直到现在结果才清楚:它是
false
,因为
1>5===false
。你的意思可能是(15<10)&(10>5),我相信说15>10>5你实际上做的是(15>10)>5,这会让你得到true>5更好的复制品的可能复制品:为什么(0<5<3)返回true的可能复制品?为什么
true>5
为false一点也不明显。true等于1,这里你更确切地说,
true>5
没有任何意义。但是,
true
可以转换为一个数字,结果是
1
。因此
true>5
将被转换为
1>5
,即
false
。由于上述原因,
15>10>-5
将返回
true