为什么javascript会返回-0

时间:2017-10-09 13:54:36

标签: javascript

我正在尝试编写一个显示最后一位数字(在一组3中)的代码是相同的。我无法理解为什么我为每套都弄错了,所以我决定测试-20%10,我得到-0同时20%10给我预期的0.这是什么-0左右?

function last_digit( x, y, z){

if(x % 10 == y % 10 == z % 10 ){
return true;

}else {
return false;

}

}
console.log(last_digit(20, 30, 400));
console.log(last_digit(-20, 30, 400));
console.log(last_digit(20, -30, 400));
console.log(last_digit(20, 30, -400));

2 个答案:

答案 0 :(得分:1)

您需要将值与logical AND &&进行成对比较,因为第一个比较返回一个布尔值,下一个比较该值与下面表达式的其余部分。



function last_digit(x, y, z) {
    return x % 10 == y % 10 && x % 10 == z % 10;
}

console.log(last_digit(20, 30, 400));
console.log(last_digit(-20, 30, 400));
console.log(last_digit(20, -30, 400));
console.log(last_digit(20, 30, -400));




答案 1 :(得分:1)

这样做,



function last_digit(x, y, z) {

  if ((x % 10) == (y % 10) && (y % 10) == (z % 10)) {
    return true;

  } else {
    return false;

  }

}
console.log(last_digit(20, 30, 400));
console.log(last_digit(-20, 30, 400));
console.log(last_digit(20, -30, 400));
console.log(last_digit(20, 30, -400));