var num1=document.getElementById("number1");
var num2=document.getElementById("number2");
var k=Number(num1.value);
var l=Number(num2.value);
function add(){
onCout(k,l,function result(a,b){
return a+b;
});
}
function onCout(c,d,callback){
var result=callback(c,d);
output.innerHTML=result;
}
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
Num1: <input type="text" id="number1" />
Num2: <input type="text" id="number2" />
<div id="output"></div>
<button id="add" onclick="add()">Add</button>
</body>
</script>
</html>
我想在用户单击添加按钮时计算两个输入文本字段的总和。但是当我单击console.log(k);
我得到了[[zero。我不知道它变成了零。我还搜索了如何从文本字段中获取值,而他们的获取方式是使用document.getElementById("id")
.value。我的结果没有到来。
k
和l
的值。那是因为在单击按钮之前,这些值是空的 var num1 = document.getElementById("number1");
var num2 = document.getElementById("number2");
function add() {
var k = Number(num1.value);
var l = Number(num2.value);
onCout(k, l, function result(a, b) {
return a + b;
});
}
function onCout(c, d, callback) {
var result = callback(c, d);
output.innerHTML = result;
}
Num1: <input type="text" id="number1" /> Num2: <input type="text" id="number2" />
<div id="output"></div>
<button id="add" onclick="add()">Add</button>
您将获得0,因为最初这些字段为空,并且Number('')
将给出0var num1 = document.getElementById("number1"); var num2 = document.getElementById("number2"); var k = Number(num1.value); var l = Number(num2.value); console.log(num1.value, num2.value) // value is empty string console.log(k, l); // NUmber('') is 0 function add() { onCout(k, l, function result(a, b) { return a + b; }); } function onCout(c, d, callback) { var result = callback(c, d); output.innerHTML = result; }
Num1: <input type="text" id="number1" /> Num2: <input type="text" id="number2" /> <div id="output"></div> <button id="add" onclick="add()">Add</button>
function add(){
var k=Number(num1.value);
var l=Number(num2.value);
onCout(k,l,function result(a,b){
return a+b;
});
}
var k=Number(num1.value);
var l=Number(num2.value);
该值必须在函数add()中获取,因为这些值是动态的。在所显示的代码中,值仅被提取一次,这使得它们仅指向初始值,并且不会随用户输入而动态更改
var num1=document.getElementById("number1"); var num2=document.getElementById("number2"); function add(){ var k=Number(num1.value); var l=Number(num2.value); onCout(k,l,function result(a,b){ return a+b; }); } function onCout(c,d,callback){ var result=callback(c,d); output.innerHTML=result; }
<html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> Num1: <input type="text" id="number1" /> Num2: <input type="text" id="number2" /> <div id="output"></div> <button id="add" onclick="add()">Add</button> </body> </script> </html>