看似有效的语句中的意外令牌

时间:2019-10-06 22:03:10

标签: javascript

为什么在下面的示例中我得到unexpected token ||

function isTriangle(a,b,c) {
  if ((a < c/2) && (b < c/2)) || ((b < a/2) && (c < a/2)) || ((c < a/2) && (b < a/2)) {
    return false;
  } else {
    return true;
  }

2 个答案:

答案 0 :(得分:2)

只需将所有这些条件放在括号中

function isTriangle(a,b,c) {
  if ( ( (a < c/2) && (b < c/2) ) || ( (b < a/2) && (c < a/2) ) || ( (c < a/2) && (b < a/2) ) ) {
    return false;
  } else {
    return true;
  }
}

因为您需要有一个包含所有条件的父括号。

答案 1 :(得分:1)

JavaScript需要if (condition)-计算括号-您拥有if (a) || (b) || (c),这是不同的。

function isTriangle(a,b,c) {
  return ((a < c/2) && (b < c/2)) || ((b < a/2) && (c < a/2)) || ((c < a/2) && (b < a/2))
 }