如何返回函数结果并将它们设置为标记的内部 HTML

How to return a functions results and set them to the innerHTML of a tag

本文关键字:设置 HTML 内部 何返回 返回 结果 函数      更新时间:2023-09-26

我试图理解递归在javascript中是如何工作的。 但是我甚至无法让此功能正常工作。

示例问题显示了计算功率并"潜在地"将计算结果设置为var my header的内部HTML:

var myHeader= document.getElementById("myHeader");
var answer = 0;
answer = power(10, 5);
function power(base, exponent) {
      if(exponent == 0)
       return 0;
      else
       return base * power(base, exponent - 1);
    }
myHeader.innerHTML = answer;

您能否编辑此示例代码以使其工作?示例代码

我只想使用 chrome 调试器,这样我就可以设置断点并逐个遍历函数以查看操作顺序。

我从Marijin Haverbeke雄辩的javascript中获取这个函数

你的幂函数是错误的

function power(n, p) {
    if(p == 0)
    {
        return 1; // see Math.pow(5, 0) for example
    }
    return power(n, p - 1) * n;
}

document.getElementById('myHeader').innerHTML = power(5, 10);

你有 2 个问题:

1 你用了var answer = 0,你没有分配它来从power得到结果。

2 在你的函数中,如果exponent === 0,你返回 0,所以基本上,当指数 = 0 时,你返回的base * power(base, 0)等于 base * 0 又等于 0,所以你的函数将始终返回 0。

var myHeader= document.getElementById("myHeader");
var answer = power(10,5);
function power(base, exponent) {
      if(exponent === 0)
       return 1;
      else
       return base * power(base, exponent - 1);
    }
myHeader.innerHTML = answer;
myHeader.innerHTML = power(10,5);

如果你正在寻找一些像C#这样的ref参数:function(param1, param2, ref param3),不,JavaScript没有这样的参数。

如果您只是想让幂函数正常工作,那么这是一个更好的解决方案:

document.getElementById("myHeader").innerHTML = Math.pow(10,5);