当我自己运行时,网页上的示例函数返回未定义



在此JavaScript教学页面上,有以下功能:

function getHalfOf(num1, num2, num3)     
{ 
  function calculate(number)
  {
    return number/2;
  }
  var result="";
  result+=calculate(num1)+" ";
  result+=calculate(num2)+" ";
  result+=calculate(num3);
}         
var resultString=getHalfOf(10,20,30);
alert(resultString);

当我使用其"运行示例"按钮在网页中运行它时,它会按预期返回" 5 10 15"。但是,当我在外部运行完全相同的代码(在带有实时预览的括号中(时,它会返回未定义。

您不会从getHalfOf返回任何内容。

return result;作为getHalfOf函数中的最后一行:

function getHalfOf(num1, num2, num3)     
{ 
  function calculate(number)
  {
    return number/2;
  }
  var result="";
  result+=calculate(num1)+" ";
  result+=calculate(num2)+" ";
  result+=calculate(num3);
  return result; // Insert this line
}         
var resultString=getHalfOf(10,20,30);
alert(resultString);

getHalfOf功能中使用return result,并且更好地将calculate函数用作全局

function getHalfOf(num1, num2, num3) {
  var result = "";
  result += calculate(num1) + " ";
  result += calculate(num2) + " ";
  result += calculate(num3);
  return result;
}
  function calculate(number) {
    return number / 2;
  }
var resultString = getHalfOf(10, 20, 30);
console.log(resultString);

gethalfof((中的最后一行需要为 return result;,以便将变量返回到调用函数。