Javascript 在For循环上乘以整数

Javascript 在For循环上乘以整数,javascript,types,type-conversion,iteration,multiplication,Javascript,Types,Type Conversion,Iteration,Multiplication,从这里开始学习JavaScript 我正在研究阿德里安·诺依曼的问题,我的问题是关于初级练习中的第6题 编写一个程序,要求用户输入一个数字,n,并允许用户在计算1、n的和和与乘积之间进行选择 输入乘法值时,答案总是0。显然,我认为迭代中包含了0,因此我设置了一个空数组myArray,并使用myArray.push(I)将所有数字推送到数组中0从未作为值包含在数组中 除了一些明显的表单验证考虑之外,还有谁能告诉我我缺少了什么?为什么我的答案总是0 注意:代码的sum部分似乎工作得非常出色 请注意,

从这里开始学习JavaScript

我正在研究阿德里安·诺依曼的问题,我的问题是关于初级练习中的第6题

编写一个程序,要求用户输入一个数字,
n
,并允许用户在计算1、
n
的和和与乘积之间进行选择

输入乘法值时,答案总是
0
。显然,我认为迭代中包含了
0
,因此我设置了一个空数组
myArray
,并使用
myArray.push(I)将所有数字推送到数组中<代码>0
从未作为值包含在数组中

除了一些明显的表单验证考虑之外,还有谁能告诉我我缺少了什么?为什么我的答案总是
0

注意:代码的
sum
部分似乎工作得非常出色


请注意,我是JavaScript的初学者,因此如果您想发表评论,请让我知道您为什么以这种方式更改代码,而不是简单地向我反馈代码。这帮了大忙,谢谢。

在乘法之前,您没有将
mySum
设置为
1
0*i
=0。

好吧,您将
mySum
初始化为
0
,因此在循环的每次迭代中,您将
i
乘以零,并将结果(再次,零)保存回
mySum
。对于乘法,你必须从一开始。

是小事情,是吗?这是非常令人谦卑的经历。
// var myArray = []; // for testing
var mySum = 0;
var userNum = prompt("What is your number? ");
var userChoice = prompt("Would you like to add up (+) or multiply (*) all the numbers from 1 to your number? Please enter (+) or (*): ");

if (userChoice == "+") {
    for (var i = userNum; i > 0; i--) {
        mySum += +i;
    }
    console.log("Your answer is " + mySum);
} else if (userChoice == "*") {
    for (var i = userNum; i > 0; i--) {
        mySum *= +i;
        // myArray.push(i); // for testing
    }
    console.log("Your answer is " + mySum);
    // console.log(myArray); // for testing
}