JavaScript输入值问题

Ale*_*dro 0 javascript

以下内容无法按预期工作:

function sum(x,y){
    return x + y;
}

document.getElementById('submit').onclick = function(e)
{

    //do someting
    e.stopPropagation();

    var value1 = document.getElementById('v1').value,
    value2 = document.getElementById('v2').value;

    var newSum = sum(value1, value2);
    console.log(newSum);

}
Run Code Online (Sandbox Code Playgroud)

拾取的值有问题.它应该返回总和而不是"1 + 2 = 12"

the*_*eye 6

更改

return x + y;
Run Code Online (Sandbox Code Playgroud)

return parseInt(x) + parseInt(y);
Run Code Online (Sandbox Code Playgroud)

在添加值之前,您必须先将值转换为数字.如果数字是浮点数,则可以使用parseFloat而不是parseInt.

编辑正如RGraham在评论中所建议的那样,最好parseInt明确地传递基数(检查文档).所以,代码变成了

return parseInt(x, 10) + parseInt(y, 10);
Run Code Online (Sandbox Code Playgroud)