Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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 这个阶乘while函数的解释_Javascript - Fatal编程技术网

Javascript 这个阶乘while函数的解释

Javascript 这个阶乘while函数的解释,javascript,Javascript,我已经用控制台日志进行了测试,但是在几次尝试之后,我仍然无法弄清楚这个函数是如何输出的。本例中的数字6将被放入名为thingamajig的函数的参数中,else语句将抛出一个执行。但后来我在法基处决时迷路了。我理解执行的大小,只是为什么facky会输出6、30、120、360、720 函数隆隆声(次){ var num=次; while(num>0){ 显示(“沉闷”); num=num-1; } } 功能thingamajig(尺寸){ var facky=1; 笨重计数器=0; 如果(大小

我已经用控制台日志进行了测试,但是在几次尝试之后,我仍然无法弄清楚这个函数是如何输出的。本例中的数字6将被放入名为thingamajig的函数的参数中,else语句将抛出一个执行。但后来我在法基处决时迷路了。我理解执行的大小,只是为什么facky会输出6、30、120、360、720

函数隆隆声(次){
var num=次;
while(num>0){
显示(“沉闷”);
num=num-1;
}
}
功能thingamajig(尺寸){
var facky=1;
笨重计数器=0;
如果(大小==0){
显示(“叮当声”);
}否则如果(大小==1){
显示(“thunk”);
}否则{
而(大小>1){
facky=facky*size;//输出6、30、120、360、720
size=size-1;//输出6、5、4、3、2、1
}
克朗克(法基);
}
}
功能显示(输出){
控制台日志(输出);
笨重计数器=笨重计数器+1;
}
var-clunkCounter=0;
thingamajig(6);
控制台日志(笨重计数器)
为什么法基会输出6、30、120、360、720

这基本上是一个阶乘实现

对于
size==6

6 * 5 * 4 * 3 * 2 = 720 
等等

为什么法基会输出6、30、120、360、720

这基本上是一个阶乘实现

对于
size==6

6 * 5 * 4 * 3 * 2 = 720 
等等。

这很简单。 当您发送到thingamajig尺码6时 他妈的会是6*5*4*3*2

当您发送30码, 他妈的会是30*29*28….*2 等等

所以, 如果你发送3-fucky将是6(3*2)

这很简单。 当您发送到thingamajig尺码6时 他妈的会是6*5*4*3*2

当您发送30码, 他妈的会是30*29*28….*2 等等

所以,
如果你发送3-fucky将是6(3*2)

1*6=6;6 * (6 - 1) = 30; 30*(6-2)=120
等。您在每次迭代中重新分配
facky
1*6=6;6 * (6 - 1) = 30; 30*(6-2)=120
等等。你在每次迭代中重新分配
facky
。像我这样愚蠢的人,我已经熟悉阶乘了。但无法将其与这个答案联系起来。愚蠢的我,我已经熟悉阶乘了。但无法将其与这个答案联系起来。