为什么我的函数返回这个奇怪的输出?

我正在尝试编写一个函数,该函数接受一个整数作为输入,并确定在第 N 次迭代中围绕中心点的五边形中存在多少个点。我能够解决这个挑战,但是在测试我的代码时我从 google chrome 控制台收到一个奇怪的输出,我不明白为什么。


这是不断给我错误的原始代码(错误显示在下面的图片链接中)


function sides(num) {

    total = 1;

    for (let i = 2; i <= num; i++) {

        top = 1;

        sides = (i - 1) * 4;

        bottom = i - 2;

        total += top + sides + bottom;

    }

    return total;

}

然后我把它改成了这个,效果很好:


function pentagon(num) {

    total = 1;

    for (let i = 2; i <= num; i++) {

        answer = (((i - 1) * 4) + 1) + (i - 2);

        total += answer


    }

    return total;

}

但我不明白他们为什么不同。我所做的只是将顶部、底部和侧面的数学合并为一行,称为答案。我不明白为什么第一个函数有效但第二个没有,我也不明白第一个函数给我的输出。如果有人能向我解释这两件事,我将不胜感激,谢谢。

http://img4.mukewang.com/60cbfb500001a42904180328.jpg

慕仙森
浏览 115回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript