Javascript无法返回值
我想从这些函数中得到a,b,c的值,并在我的总数中使用它们。我已尝试返回值,但不起作用。当我创建全局变量时,total总是使用原始全局变量,而不是函数中的全局变量Javascript无法返回值,javascript,Javascript,我想从这些函数中得到a,b,c的值,并在我的总数中使用它们。我已尝试返回值,但不起作用。当我创建全局变量时,total总是使用原始全局变量,而不是函数中的全局变量 function d1() { var a = document.getElementById("s1").value; document.getElementById("d1").innerHTML = (2 * a).toFixed(2); return a; } function d2() { var b =
function d1() {
var a = document.getElementById("s1").value;
document.getElementById("d1").innerHTML = (2 * a).toFixed(2);
return a;
}
function d2() {
var b = document.getElementById("s2").value;
document.getElementById("d2").innerHTML = (3 * b).toFixed(2);
return b;
}
function d3() {
var c = document.getElementById("s3").value;
document.getElementById("d3").innerHTML = (4 * c).toFixed(2);
return c;
}
var total = a + b + c;
document.getElementById("total").innerHTML = total.toFixed(2);
我想应该是这样
var total = d1() + d2() + d3();
因为变量a、b和c是函数的局部变量,它们属于这些函数的作用域。然而,最大的问题是您根本不调用函数,因此即使使用全局变量,您的a、b、c也将是未定义的。a、b和c分别是d1、d2和d3中的局部变量。因此,您不能像您尝试的那样直接在其范围之外使用它们 有多种方法可以达到你想要的结果。最简单的
function d1() {
var a = document.getElementById("s1").value;
document.getElementById("d1").innerHTML = (2*a).toFixed(2);
return a;
}
function d2() {
var b = document.getElementById("s2").value;
document.getElementById("d2").innerHTML = (3*b).toFixed(2);
return b;
}
function d3() {
var c = document.getElementById("s3").value;
document.getElementById("d3").innerHTML = (4*c).toFixed(2);
return c;
}
**var total = d1() + d2() + d3();**
document.getElementById("total").innerHTML = total.toFixed(2);
变量的值永远不会被操纵…a、b和c在它们的函数之外是不可见的。您应该执行
var total=d1()+d2()+d3()
您没有在这里的代码中调用这些函数。尝试var total=d1()+d2()+d3()代码>如果对您有帮助,请接受我的建议。