为什么显示为未定义?

时间:2020-04-16 20:02:41

标签: javascript

我有这段代码来显示test()函数的结果。测试函数使用maximumNumber()函数。但是它不起作用,控制台日志显示未定义。你知道为什么吗?

window.onload = function() {

  console.log(test());

}

function biggestNumber(num1, num2) {
  if(num1>num2){
    console.log(num1);
  }
  else if(num1<num2){
    console.log(num2);
  }
  else{
    console.log(num1);
  }

}

function test() {
  var num1 = parseInt(prompt("Num1"));
  var num2 = parseInt(prompt("Num2"));

  var result = biggestNumber(num1,num2);
  console.log(result);  
}

3 个答案:

答案 0 :(得分:0)

它非常简单和基本。如果某个函数没有return,它将自动返回undefined

biggestNumber没有return,因此返回未定义

答案 1 :(得分:0)

这是因为您没有返回函数的结果。正确的方法是:

window.onload = function() {
     console.log(test());
}
function test() {
     var num1 = parseInt(prompt("Num1"));
     var num2 = parseInt(prompt("Num2"));
     var result = biggestNumber(num1, num2);
     return result;
}
function biggestNumber(num1, num2) {
     if(num1 > num2)
          return num1;
     else if(num1 < num2)
          return num2;
     else
          return num1;
}

答案 2 :(得分:0)

如果使用Math.Max(),则可以找到数组中最大的数字。

const array1 = [1, 3, 2];

console.log(Math.max(...array1));

您可以在数组名称之前使用...来“解压缩”数组。