JavaScript中递归与循环-同一案例的两种解法

题目
  编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数求1/1+1/3+...+1/n
//用递归
function add2(n){
        if( n == 2 ){
            return 1/2;
        }
        if( n == 1){
            return 1/1;
        }
        return f(n-2)+1/n;
    }
//用循环
function add1(n){
        var sum = 0;
        //偶数
        if( n % 2 == 0){
            for( var i=2;i<=n;i+=2 ){
                sum += 1 / i;
            }
            return sum;
        }
        //奇数
        if( n % 2 != 0){
            for( var i=1;i<=n;i+=2 ){
                sum += 1 / i;
            }
            return sum;
        }
    }

此事我们也可以在网页上进行一个表单交互


<body>
    <input type="text" id="num1">
    <input type="button" id="btn1" value="计算">
    <input type="text" id="num2"><br>
</body>


  
  //
获取数值 var num1 = document.getElementById("num1"); var num2 = document.getElementById("num2"); var btn1 = document.getElementById("btn1"); //交互 btn1.onclick = function(){ var n = num1.value; num2.value = add1(n); // num2.value = add2(n); }
原文地址:https://www.cnblogs.com/Huskie-/p/12802498.html