Chrome:格式说明符打印NaN而不是数字

时间:2018-04-05 16:23:25

标签: javascript google-chrome-devtools console.log

参考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.显然我错过了什么?

1 个答案:

答案 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浏览器