Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在HTML文档中显示循环函数的正确语法_Javascript_Html - Fatal编程技术网

Javascript 在HTML文档中显示循环函数的正确语法

Javascript 在HTML文档中显示循环函数的正确语法,javascript,html,Javascript,Html,我有点搞不懂为什么这段代码没有显示任何内容,当我没有按钮的包装函数,并且我在脚本中手动输入了factorialize函数的参数时,它会工作,我做错了什么 HTML <div class="factorializing"> <h1> Factorialize a number </h1> <input type ="text" id ="number"/> <button id="factButton"> Fact

我有点搞不懂为什么这段代码没有显示任何内容,当我没有按钮的包装函数,并且我在脚本中手动输入了factorialize函数的参数时,它会工作,我做错了什么

HTML

<div class="factorializing">

  <h1> Factorialize a number </h1>

    <input type ="text" id ="number"/>
    <button id="factButton"> Factorialize</button>

  <h1 id="factorialized"> </h1>

</div>

我认为你在寻找这样的东西:-

document.getElementById(“factButton”).addEventListener(“单击”,函数(){
var输入=document.getElementById(“number”).value;
var输出=document.getElementById(“因子化”);
函数因子化(输入){
如果(输入==0){
返回1;
}否则{
返回输入*factorialize(输入-1);
}
}
output.innerHTML=因子化(输入);
});

因式分解一个数
因式分解
document.getElementById(“factButton”).addEventListener(“单击”,函数(){
var input=parseInt(document.getElementById(“number”).value,10);
document.getElementById(“factorialized”).innerHTML=factorialize(输入);
});
函数因子化(n){

return(n我只会在每次递归调用时将值写入输出,同时更改值

document.getElementById(“factButton”).addEventListener(“单击”,函数(){
var输入=document.getElementById(“number”).value;
var输出=document.getElementById(“因子化”);
output.innerHTML=“”
因式分解(数字(输入))
函数因子化(输入){
返回output.innerHTML+=''+((输入===0)
1.
:(输入*因子化(输入-1)))
}
});

因式分解一个数
因式分解

why return语句??output.innerHTML=“valule”;应该足够了!这没有什么区别,仍然没有输出。当我在控制台中尝试此函数时,它需要return语句,否则它将返回undefined。您从未调用
factorialize
函数…函数定义没有参数,但在else语句中添加了它。
document.getElementById("factButton").addEventListener("click", function(){

 function factorialize() {
   var input = document.getElementById("number").value;
   var output = document.getElementById("factorialized");

if (input === 0) {
   return output.innerHTML =  1;
}

else {
   return output.innerHTML = input * factorialize(input - 1) ;
}            
}
 });