2017-01-31 5 views
-5

привет, я пытаюсь изучить javascript. Любая помощь в вопросах с моим синтаксисом, делающая факториальную функцию с использованием циклов while, будет с благодарностью оценена.while петли в javascript

function fac(num){ 
var a = 0; 
var result=0; 
var added=0; 
while(num!==0) 
{ 
    result = num*(num-1); 
    added = added+a; 
    num--; 
} 
return added; 
} 
+1

В чем вопрос? – JJJ

+0

Я пытаюсь запустить код, и он возвращает 0 вместо вычисления правильного возвращаемого значения. , например. факс (3) должен вернуть 6 факс (4) должен возвращать 24 и так далее. – coding95

+0

Хорошо для одного 'добавленного = добавленного + а' ​​ничего не делает, потому что вы никогда не меняете значение' a'. – JJJ

ответ

-1

Вы добавляете add = 0 + 0;

Полная функция может быть записана следующим образом:

function factorial(number) { 
    var result = 1; 

    while(number > 1) { 
    result *= number; 
    number--; 
    } 
    return result; 
} 

Это должно сделать трюк; Добавлен Codepen, чтобы увидеть его в действии: http://codepen.io/stefferd/pen/EZQEOv

+1

Как это факториал? –

+0

Извините неправильно прочитал вопрос; Теперь отредактировал его, чтобы сделать его факториалом; –

+1

Это работает, но это более громоздко, чем необходимо. Если вы начинаете с 'var result = 1', то все условное выражение может быть заменено на' result * = number; ' – JJJ