所以,起初,我知道这段代码很乱,请您多多包涵,但是谁能解释为什么它一直连接输入的信息,而不是在通过parseInt()
后再加上数值?
var sol = 0;
var n = 0;
while(n !== null)
{
parseInt(n = prompt("Please enter a number to be added onto stack"));
if(n != null || n != NaN)
{
sol = parseInt(sol);
sol += n;
}
}
console.log(sol);
prompt()
返回一个字符串。[parseInt()
接受一个字符串并返回一个数字。
您对第一个parseInt
的返回值不做任何事情。这意味着n
是一个字符串。因此,当您执行sol += n
时,您要将字符串和数字加在一起,而javascript则假设您打算将字符串连接在一起,因为带有字符串和数字的数学没有任何意义。
您可能想这样做:
n = parseInt(prompt("Please enter a number to be added onto stack"));