Javascript不能返回值
Javascript cannot return values
我想从这些函数中获得值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 = 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);
相关文章:
- 从Java脚本返回多个值,这些值不能在firefox上运行(在IE上运行良好)
- 文本框值不能使用 JavaScript 更改
- 链+过滤器+返回值不是函数
- 使用JavaScript检索自定义CSS属性值-不能
- 承诺的返回值不是预期值
- 为什么角度插值不能再了
- window.history.back(),返回false;“不能在IE11中工作
- 为什么当返回值在另一行时,Javascript返回语句不能工作?
- Html表值不能从Jquery中获取
- 流星JS -嵌套函数返回值不正确
- 所选选项值不能重置
- Array.find(value)返回值'不是函数'
- Ajax返回值不工作
- JavaScript对象.赋值不能在Date对象上工作
- Dojo选择设置值不能与动态生成的选项一起工作
- 为什么'返回false'不能防止页面在点击时重新加载
- Javascript输入值不能被用户更改
- 从powershell脚本返回的值不能用于PHP
- 当数组字段为空时,替换值不能正常工作
- jQuery textarea值与空格和返回键不能正常工作