js 的 数据转换问题输出的值不复合预期

    var num1 = prompt('输入第一个值');
    var num2 = prompt('输入第二个值');
    // var num3 = parseFloat(num1) +  parseFloat(num2) ;
    var num3 = parseFloat(num1  + num2)
    console.log(num3);
    alert('结果是' + num3);

这个是我的代码。请问为啥我使用不注释的num3不可以输出正常的数值呢?使用被我注释起来的就可以输出正常的值呢?我觉得好像区别并不大?

因为prompt返回的是字符串不是数值,需要先转换为数值才能进行运算。否则就是字符串的拼接

数值可以运算,字符串是拼接


var num1 = prompt("输入第一个值"); // 如输入1 num1='1'
var num2 = prompt("输入第二个值"); // 如输入2 num2='2'
// var num3 = parseFloat(num1) +  parseFloat(num2) ; // parseFloat(num1)=1 parseFloat(num2)=2  1+2=3
var num3 = parseFloat(num1 + num2); // num1 + num2='1'+'2'='12' parseFloat('12')=12