javascript - 为什么这会导致串联而不是将两个数字相加?
问题描述
如果我输入一个数字作为输入,为什么这会导致串联而不是将两个数字相加?
let theNum = n => n + 1;
let usrNum = prompt("Enter a number: ")
alert(theNum(usrNum))
解决方案
因为在 JS 中,字符串 + 数字 = 字符串。在 n 之前尝试“+”:
let theNum = n => +n + 1; // or Number(n)
let usrNum = prompt("Enter a number: ")
alert(theNum(usrNum))
推荐阅读
- c# - Convert.ToInt32 不接受字符串十六进制值
- mysql - 外循环不起作用
- c# - C# 正则表达式字符串数组转义 *
- android - 面向 API 28 (Android 9) 时,Android 半透明状态栏始终为灰色 fitSystemWindows
- php - Guzzle 遇到 ERR_INCOMPLETE_CHUNKED_ENCODING
- css - CSS Grid:如何使网格单元成为超链接目标?
- .net - filehelper 库是否能够读取 xml 文件
- kotlin - 在扩展 Parceable 密封类的对象上使用 android-extensions 的 Parcelize 注释
- mpdf - 带有隐藏和边距标题的 Mpdf 7 分页 html 错误
- c# - 从所有 Excel 工作表中创建一个数组