如何返回函数结果并将它们设置为标记的内部 HTML
How to return a functions results and set them to the innerHTML of a tag
我试图理解递归在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);
相关文章:
- 如何设置html元素填充的动画
- 使用val()在jquery循环中设置html字符串的val
- 在 PHP 块中使用 Javascript 设置 HTML 文本框的值(使用 echo)
- JS for循环来设置HTML对象参数
- 使用JavaScript在select字段中使用optgroup设置html选项值
- 使用jQuery在select选项上设置HTML数据属性
- 设置html时的验证
- 如何从javascript中设置html表单的属性
- 如何使用Angular 2设置HTML选择值
- 设置 HTML 自定义属性与在 ID 属性中存储信息
- 无法通过javascript函数的自动计算设置html元素值
- 通过单选按钮状态设置HTML元素的可见性
- 通过参数设置html组合框的选定选项
- 使用javascript设置html页面的标题
- 如何从javascript设置html单选值
- 通过单独的js文件设置HTML值
- 我们如何使用Jquery和ASP.NET MVC 4复杂模型数据设置HTML元素的值
- 如何使用来自@Html.TextBoxFor的用户输入设置@Html.RadioButtonFor的值
- ckEditor插件iframe对话框设置html输入
- 如何从json中设置HTML选择选项