参考chrome dev-tools documentation,我在chrome调试器控制台中编写了一个简单的代码段,就像这样 -
var age = prompt("How old are you?");
console.log(age); //10
console.log('You are %d years old', age); //You are NaN years old
看起来奇怪的是,在最后一行NaN
上打印而不是10.显然我错过了什么?
答案 0 :(得分:3)
prompt
总是返回一个字符串¹; %d
期待一个数字,而不是显然是强制性的。首先将年龄转换为数字,例如
var age = +prompt(/*...*/);
// or
var age = parseInt(prompt(/*...*/, 10));
// or any of the other ways to convert strings to numbers
¹(或null
如果用户取消,在某些浏览器上,包括Chrome浏览器