如何使用parseInt将字符串转数字解决JS年龄计算拼接问题
使用parseInt解决输入年龄后的数字计算错误
你遇到的问题是因为prompt()返回的是字符串类型的值,直接和数字相加时会触发字符串拼接,而非算术加法,所以输入10会得到"10"+"10"="1010"。用parseInt()把字符串转为整数就能解决这个问题,有两种常见写法:
写法一:获取输入时直接转换
let age = parseInt(prompt("What's your age?")); let age1 = age + 10; console.log(age1);
写法二:计算时转换
let age = prompt("What's your age?"); let age1 = parseInt(age) + 10; console.log(age1);
更严谨的写法
建议给parseInt()加上第二个参数10,明确指定十进制解析,避免特殊场景下的解析异常:
let age = parseInt(prompt("What's your age?"), 10); let age1 = age + 10; console.log(age1);
这样输入10时,控制台就会输出期望的20了。
内容的提问来源于stack exchange,提问作者delpietro
相关产品推荐
相关产品推荐

