首页 > 解决方案 > 为什么这会导致串联而不是将两个数字相加?

问题描述

如果我输入一个数字作为输入,为什么这会导致串联而不是将两个数字相加?

let theNum = n => n + 1;

let usrNum = prompt("Enter a number: ")

alert(theNum(usrNum))

标签: javascript

解决方案


因为在 JS 中,字符串 + 数字 = 字符串。在 n 之前尝试“+”:

let theNum = n => +n + 1; // or Number(n)

let usrNum = prompt("Enter a number: ")

alert(theNum(usrNum))

推荐阅读