令人困惑的Javascript语法错误

时间:2014-04-23 05:31:02

标签: javascript

我正在测试看到哪三个数字中的哪一个是最大的,并通过一个函数返回。但是,我不断收到语法错误:SyntaxError:missing; before statement} else(第三个>第一个&&第三个>第二个){

以下是代码:

function getMax3(first, second, third) {
if (first > second && first > third){
  return first;
} else if (second > first && second > third) {
  return second;
}else (third > first && third > second) {
  return third;
}
}

console.log(getMax3(10, 3, 4));
console.log(getMax3(1, 6, 9));

4 个答案:

答案 0 :(得分:6)

正如其他人所说,你当然可以使用Math.max function or Math.max.apply来解决这个问题。但要回答有关此特定语法错误的问题,以下解决方案适用。

你不能在else上有条件。您可以将最后一个else更改为else if,或者只是删除条件,然后让其他人抓住所有内容,而不是第一个条件

所以:

function getMax3(first, second, third) {
if (first > second && first > third){
  return first;
} else if (second > first && second > third) {
  return second;
}else {
  return third;
}
}

console.log(getMax3(10, 3, 4));
console.log(getMax3(1, 6, 9));

function getMax3(first, second, third) {
if (first > second && first > third){
  return first;
} else if (second > first && second > third) {
  return second;
}else if(third > first && third > second) {
  return third;
}
}

console.log(getMax3(10, 3, 4));
console.log(getMax3(1, 6, 9));

Read more about if...else statements on MDN

答案 1 :(得分:0)

试试这个

function getMax3(first, second, third) {
if (first > second && first > third){
  return first;
} else if (second > first && second > third) {
  return second;
}else  {//the else cannot have condition
  return third;
}
}

console.log(getMax3(10, 3, 4));
console.log(getMax3(1, 6, 9));

这是因为从您的编码中我们可以看到您已将条件包含在else语句中。有关详细信息,请查看>> http://www.w3schools.com/js/js_if_else.asp

答案 2 :(得分:0)

function getMax3(first, second, third) {
if(first > second && first > third){
  return first;
} else if(second > first && second > third) {
  return second;
}else if(third > first && third > second) {
  return third;
}
}

console.log(getMax3(10, 3, 4));
console.log(getMax3(1, 6, 9));

这是修改后的代码。 试试这个......

答案 3 :(得分:0)

您可以将所有元素放在数组中并添加此原型,以便在所需的元素中找到最大值:

Array.prototype.max = function () {
    return Math.max.apply(null, this);
};

前:

var arr = [4,5,6,7,73,53,123,53];
var maxVal = arr.max();