代码之家  ›  专栏  ›  技术社区  ›  aditya rawat

为什么这段脚本代码的结果是未定义的?(计算GCD),我不知道为什么它不进入if块

  •  0
  • aditya rawat  · 技术社区  · 4 年前

    function calculateGCD(a, b) {
      if (b === 0) {
        return a;
      } else
        console.log(a, b);
      a > b ? calculateGCD(b, (a % b)) : calculateGCD(a, (b % a));
    }
    
    function main() {
      let n1, n2, gcd;
      n1 = +prompt("enter 1st number?");
      n2 = +prompt("enter second number?");
    
      gcd = calculateGCD(n1, n2);
    
      document.write(gcd);
    }
    
    
    main();
    1 回复  |  直到 4 年前
        1
  •  0
  •   hassan souiti    4 年前

    在函数中,您应该返回结果。

        function calculateGCD(a, b) {
          let result
          if (b === 0) {
            return a;
          } else {
           console.log(a, b);
           a > b ? result = (b, (a % b)) : result = (a, (b % a));
        }
       return result
      }