2015-08-08 91 views

回答

0

的練習中,你將伴隨着num[i]但num是不是數組(也就是你的錯誤)。此外,你的第一次迭代將乘以5 * 5這是錯誤的,它應該是5 * 4,所以我們開始於i=num-1。而且i> 1就足夠了,num *= 1是毫無意義的。

這個工程:

function factorialize(num) 
{ 
    for (i=num-1; i>1; i--) 
    { 
    num*= i; 
    } 
    return num; 
} 

factorialize(5); 
1

只是有點太晚了......

你只應該使用num *= i;而不是num *= num[i]。您的代碼所做的是嘗試訪問數字對象num的屬性i,該屬性未定義。

你也應該將環路初始化改變for(var i = num - 1; i > 1; i--)只創建一個局部變量,而不是全球性的。另外,乘以num乘以num(第一個循環週期)將會給出不正確的結果。最後但並非最不重要的是,乘以1(最後一個循環週期)是無用的。