在JavaScript中打印提示变量返回" NaN"。
代码:
People: ID, Name
Colors: ID, Colorname
PeopleColorMap: PeopleID, ColorID

答案 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);
因为现在二进制 +
运算符被用作字符串的连接,而不是转换为数字。