近日在用JS开发时,发现定义的两个变量a=3,b=4,两个变量值均为数字,原来的要求是两个数字相加结果应该是7,但却变成了字符串组合结果为34了。
按说如果都为整型的话,相加是不会变成字符串的,经过查询:
原因:JS是弱编程语言,相加和字符串组合的处理符号都是 + 。
解决:在处理时,如果用户输入或其他非数字类型的字符串,可以使用parseInt、parseFloat、Number函数将字符串转换为数字,然后再相加:如 let r = Number(a) + Number(b); 如果字符串转换失败,parseInt会返回NaN(Not-a-Number),这时候的结果会是NaN。因此,在实际应用中,可能需要额外的错误检查来处理非数字的情况。