用于计算整数

时间:2015-10-23 00:37:40

标签: javascript function for-loop

我想要对整数的计算机阶乘有函数。我在其下创建了带循环的函数,然后调用函数传递数字并获得结果。但它的结果未定义,尽管所有变量都被正确声明。



<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;
&#13;
&#13;

有很多代码可以实现这一点,但我想知道为什么我的代码不起作用。

2 个答案:

答案 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);