为什么javascript返回-0

为什么javascript返回-0,javascript,Javascript,我试图写一个代码,显示最后一个数字(在一组3中)是相同的。我不明白为什么每一组的结果都是假的,所以我决定测试-20%10,我得到了-0,而20%10给了我预期的0。这个-0是关于什么的 函数最后一位(x,y,z){ 如果(x%10==y%10==z%10){ 返回true; }否则{ 返回false; } } 控制台日志(最后一位数字(20、30、400)); 日志(最后一位数字(-20,30400)); 控制台日志(最后一位数字(20,-30400)); 控制台日志(最后一位数字(20,30

我试图写一个代码,显示最后一个数字(在一组3中)是相同的。我不明白为什么每一组的结果都是假的,所以我决定测试-20%10,我得到了-0,而20%10给了我预期的0。这个-0是关于什么的

函数最后一位(x,y,z){
如果(x%10==y%10==z%10){
返回true;
}否则{
返回false;
}
}
控制台日志(最后一位数字(20、30、400));
日志(最后一位数字(-20,30400));
控制台日志(最后一位数字(20,-30400));

控制台日志(最后一位数字(20,30,-400))您需要将值与进行成对比较,因为第一次比较返回一个布尔值,下一次将此值与以下表达式的其余部分进行比较

函数最后一位(x,y,z){
返回x%10==y%10&&x%10==z%10;
}
控制台日志(最后一位数字(20、30、400));
日志(最后一位数字(-20,30400));
控制台日志(最后一位数字(20,-30400));

控制台日志(最后一位数字(20,30,-400))您需要将值与进行成对比较,因为第一次比较返回一个布尔值,下一次将此值与以下表达式的其余部分进行比较

函数最后一位(x,y,z){
返回x%10==y%10&&x%10==z%10;
}
控制台日志(最后一位数字(20、30、400));
日志(最后一位数字(-20,30400));
控制台日志(最后一位数字(20,-30400));
控制台日志(最后一位数字(20,30,-400))这样做

函数最后一位(x,y,z){
如果((x%10)=(y%10)&&(y%10)=(z%10)){
返回true;
}否则{
返回false;
}
}
控制台日志(最后一位数字(20、30、400));
日志(最后一位数字(-20,30400));
控制台日志(最后一位数字(20,-30400));
控制台日志(最后一位数字(20,30,-400))这样做

函数最后一位(x,y,z){
如果((x%10)=(y%10)&&(y%10)=(z%10)){
返回true;
}否则{
返回false;
}
}
控制台日志(最后一位数字(20、30、400));
日志(最后一位数字(-20,30400));
控制台日志(最后一位数字(20,-30400));

控制台日志(最后一位数字(20,30,-400))比较的可能重复项等于
x%10==(y%10==z%10)
。即,将
x%10
与布尔结果进行比较。您想要的是
x%10==y%10&&y%10==z%10
@appletree,请使用
==
进行(几乎)所有比较。为什么?因为
true==1
check
last_digit(5,15,21)
与您的代码一起。我想在尝试理解为什么我得到-0时,我的if子句被弄糟了。我不知道我是这样贴的,我很感谢你的帮助。干杯!比较的可能重复项等于
x%10==(y%10==z%10)
。即,将
x%10
与布尔结果进行比较。您想要的是
x%10==y%10&&y%10==z%10
@appletree,请使用
==
进行(几乎)所有比较。为什么?因为
true==1
check
last_digit(5,15,21)
与您的代码一起。我想在尝试理解为什么我得到-0时,我的if子句被弄糟了。我不知道我是这样贴的,我很感谢你的帮助。干杯!难怪,我并不是对所有人都这么想。感谢NinaNo wonder,我并没有为他们所有人实现。谢谢你,尼娜