gpt4 book ai didi

javascript - for/循环中的计数器变量。为什么一个程序可以运行而另一个程序却失败?

转载 作者:行者123 更新时间:2023-11-28 18:54:32 25 4
gpt4 key购买 nike

因此,在用 javascript 编写一个程序时,我编写了一个对从 1 到 N(用户给出的数字)的数字求和的程序,但我仍然对为什么我编写的一个提议的解决方案有效感到困惑,而另一个则没有。

此版本有效:

function spitback(){
var theNum = prompt("Give me a number");
var onwards = 0;
for(i = 0; i <= theNum; i++){
onwards += i;
}
console.log(onwards);
}
spitback();

这个没有:

function spitback(){
var theNum = prompt("Give me a number");
var onwards = theNum;
for(i = 0; i <= theNum; i++){
onwards += i;
}
console.log(onwards);
}
spitback();

为什么第二个不起作用?如果我最初将 var 向前设置为 theNum (由用户输入),然后让该函数向前添加到“i”的迭代,直到计数器达到 theNum,我将看到 theNum 和旁边的 i 的所有迭代之间的串联它,就像它是一根绳子一样。在我看来,将变量设置为相同的值,然后更改该值以添加计数器的迭代应该可行!为什么不起作用?请分享。

最佳答案

这是因为 prompt 返回一个字符串,而不是数字。当您对字符串使用“+”操作时,您会得到连接,而不是整数增量。 JavaScript 不会神奇地将你的字符串转换为整数,即使它看起来像这样。

关于javascript - for/循环中的计数器变量。为什么一个程序可以运行而另一个程序却失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33892105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com