Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript计算时,总和为零_Javascript_Html - Fatal编程技术网

使用javascript计算时,总和为零

使用javascript计算时,总和为零,javascript,html,Javascript,Html,var num1=document.getElementById(“number1”); var num2=document.getElementById(“number2”); var k=数量(num1.值); var l=数量(num2.值); 函数add(){ onCout(k,l,函数结果(a,b){ 返回a+b; }); } 函数onCout(c、d、回调){ var结果=回调(c,d); output.innerHTML=结果; } 文件 Num1: Num2: 添加 在add函

var num1=document.getElementById(“number1”);
var num2=document.getElementById(“number2”);
var k=数量(num1.值);
var l=数量(num2.值);
函数add(){
onCout(k,l,函数结果(a,b){
返回a+b;
});
}
函数onCout(c、d、回调){
var结果=回调(c,d);
output.innerHTML=结果;
}

文件
Num1:
Num2:
添加

在add函数中获取
k
l
的值。这是因为在单击按钮之前,这些值是空的

var num1=document.getElementById(“number1”);
var num2=document.getElementById(“number2”);
函数add(){
var k=数量(num1.值);
var l=数量(num2.值);
onCout(k,l,函数结果(a,b){
返回a+b;
});
}
函数onCout(c、d、回调){
var结果=回调(c,d);
output.innerHTML=结果;
}
Num1:Num2:

添加
您应该在函数中获取更新后的值,而不是加载时获取首字母,这可以按如下方式完成:

function add(){
     var k=Number(num1.value);
     var l=Number(num2.value);
     onCout(k,l,function result(a,b){
          return a+b;
     });
}

得到0是因为在页面加载时得到的是k和l的值,而不是在单击按钮时调用的add函数中

var k=Number(num1.value);
var l=Number(num2.value);
必须在函数add()内获取该值,因为这些值是动态的

在所讨论的代码中,值只提取一次,这使得它们只指向初始值,而不会随用户输入而动态更改

var num1=document.getElementById(“number1”);
var num2=document.getElementById(“number2”);
函数add(){
var k=数量(num1.值);
var l=数量(num2.值);
onCout(k,l,函数结果(a,b){
返回a+b;
});
}
函数onCout(c、d、回调){
var结果=回调(c,d);
output.innerHTML=结果;
}

文件
Num1:
Num2:
添加

但由于我将k和l的值放在add()函数之外,它将被识别为全局变量。为什么会变成零?你能澄清一下吗?@Randomguy如果没有默认值,输入字段的初始状态为空(或者转换为数字后为零)。如果在
add()
函数之外(因此在用户输入之前)获取它们的值,则两个输入字段都将获得空(零)值。通过获取函数中的值,您将确保用户输入了正确的值。