prompt返回的是字符串型,字符串与数值用+号计算都是把数值转成字符串与另一个字符串拼接成一个新的字符串
要先用parseInt()或者parseFloat() 把prompt返回的字符串转成数值,再与另一个数值相加
你题目的解答代码如下:
var n = 5;
var m = n + parseFloat(prompt("请输入数值","6"));
alert(m);
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
➕号的一个作用就是字符串拼接,如果想进行数值运算,需要先进行数据类型转换,使用parseInt(字符串),转换成整型,使用parseFloat(字符串),转换成浮点型。然后进行运算即可。你这里prompt(“请输入…”)返回的是字符串,需要先进行转换,parseFloat(prompt(请输入…)),这样来写
prompt的结果本来就是字符串,既然减号OK, 那两个减号不就是加号了吗。
说一下为什么减号OK,加号不OK,
因为+除了可以做数字的运算,还有字符串拼接的功能,+两端如果任意一端是字符串,就会执行字符串的拼接,而不是数字加的运算;
而-只能是数字运算中的减, 在遇到字符串的数字时会自动转换成数字, js中有很多的隐式转换规则,很有趣(比如任何类型在需要布尔类型的时候都会自动转换成布尔)。