我已经使用控制台日志进行了测试,但经过多次尝试后,我仍然无法弄清楚这个功能是如何产生的。在这种情况下,数字6将被放入名为thingamajig的此函数的参数中,而else语句将抛出执行。但后来我迷失了执行的怪癖。我理解尺寸执行情况,只知道如何输出6,30,120,360,720这个古怪的东西?
function clunk(times) {
var num = times;
while (num > 0) {
display("clunk");
num = num -1;
}
}
function thingamajig(size) {
var facky = 1;
clunkCounter = 0;
if (size == 0) {
display("clank");
} else if (size == 1) {
display("thunk");
} else {
while (size > 1) {
facky = facky * size; //outputs 6, 30, 120, 360, 720
size = size - 1; //outputs 6, 5, 4, 3, 2, 1
}
clunk(facky);
}
}
function display(output) {
console.log(output);
clunkCounter = clunkCounter + 1;
}
var clunkCounter = 0;
thingamajig(6);
console.log(clunkCounter);

答案 0 :(得分:0)
如何输出6,30,120,360,720?
这基本上是一个因子实现,
代表size == 6
6 * 5 * 4 * 3 * 2 = 720
等等。
答案 1 :(得分:0)
很简单。 当你发送到thingamajig大小6 fucky将是6 * 5 * 4 * 3 * 2
当您发送尺码30时, fucky将是30 * 29 * 28 .... * 2 等
所以, 如果发送3 - fucky将是6(3 * 2)