我想要对整数的计算机阶乘有函数。我在其下创建了带循环的函数,然后调用函数传递数字并获得结果。但它的结果未定义,尽管所有变量都被正确声明。
<script>
var userInput;
var num;
var i =1;
var fact;
function myFactor (num){
fact = num * i;
for (i; i <= num; i++) {
fact = fact * i;
return fact;
}
}
var result = myFactor(fact);
userInput = prompt("Enter Value:","");
num = parseInt (userInput);
document.write(result);
</script>
&#13;
有很多代码可以实现这一点,但我想知道为什么我的代码不起作用。
答案 0 :(得分:1)
你忘记了返回前后的右括号,并用用户给出的数字和一次迭代来调用函数太多了。
var userInput;
var num;
var i =1;
var fact;
function myFactor (num){
fact = num * i;
for (i; i < num; i++) {
fact = fact * i;
}
return fact
}
var result;
userInput = prompt("Enter Value:","");
num = parseInt (userInput);
result = myFactor(num);
document.write(result);
现在应该工作。 顺便说一句:该函数计算一个阶乘,因子是不同的。 喔,太晚了。
答案 1 :(得分:0)
尝试:
var userInput;
var num;
var fact;
function myFactor(num) {
var i = 1;
fact = num * i;
for (i; i <= num; i++) {
fact = fact * i;
return fact;
}
}
userInput = prompt("Enter Value:", "");
num = parseInt(userInput);
var result = myFactor(num);
alert(result);