编写一个名为findTen的JavaScript函数,它从两个文本字段中读取两个数字,然后输出到div“True”,如果其中一个是10或者两个都是10或者它们的总和是10.否则你的函数应该是输出“False”到div。
这是我到目前为止所做的,但输出不正确。如果声明我的其他地方有问题:
<script>
function findTen() {
var a = document.getElementById("one").value;
var b = document.getElementById("two").value;
var doTheMath = a + b;
if ( a == 10 || b == 10) {
alert("true");
}
else if (doTheMath == 10 ) {
alert("true");
}
else {
alert(a b doTheMath);
}
document.getElementById("output").innerHTML = c;
}
</script>
答案 0 :(得分:1)
您发布的代码中存在一些错误:
a
和b
是字符串,因此doTheMath
实际上是一个字符串。在a = 5
和b = 5
的情况下,doTheMath
为'55'。它们需要以多种方式之一进行转换。我选择Number
:
var doTheMath = Number(a) + Number(b);
alert(a b doTheMath)
语法不正确。你应该看看它们的结论:
alert(a + ' ' + b + ' ' + doTheMath);
c
在您的作业中未定义。因此,在if/else
块中,您可能需要一个类似的语句:c = false;
您可以在此jsfiddle中找到所有这些问题。
答案 1 :(得分:0)
您的问题是它将输入处理为字符串而不是整数。 你要做的是使用parseInt函数将字符串变成整数
答案 2 :(得分:0)
你的a和b变量是字符串,因为你刚从文本字段中取出它们。在JavaScript中,如果在字符串上使用+运算符,它将连接它们。这是javascript的相当不幸的“功能”。要从文本字段添加值,首先需要将它们转换为整数:
var doTheMath = parseInt(a) + parseInt(b);
此外,我认为这句话根本不会起作用:
alert(a b doTheMath);
警告采用字符串,因此如果要显示这三个值,则需要将它们连接起来,例如
alert(a + ' + ' + b + ' = ' + doTheMath);