在javascript中打印提示变量返回" NaN"

时间:2016-12-27 12:57:43

标签: javascript html variables

在JavaScript中打印提示变量返回" NaN"。

代码:



People: ID, Name

Colors: ID, Colorname

PeopleColorMap: PeopleID, ColorID




2 个答案:

答案 0 :(得分:3)

您使用+作为unary operator,它将带有数字的字符串转换为数字,但不转换为foo的字符串,这些字符串不可转换。然后你得到NaN,而不是数字。



var topic = window.prompt("Topic:", "");
document.write('input: ' + topic);




答案 1 :(得分:2)

在您的原始问题中:

document.write(+topic);

window.prompt返回一个字符串,一元 +运算符字符串转换为数字。

如果您输入非数字字符,则无法将其转换为数字,并获得NaN。如果您输入数字,例如3,则会输出3个数字。

问题的解决方案是简单地删除+

document.write(topic);

在您编辑了一个问题之后,它的工作原理如下:

document.write('Topic ' + topic);

因为现在二进制 +运算符被用作字符串的连接,而不是转换为数字。