Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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_Boolean Logic_Boolean Operations - Fatal编程技术网

Javascript 这是一个布尔逻辑

Javascript 这是一个布尔逻辑,javascript,boolean-logic,boolean-operations,Javascript,Boolean Logic,Boolean Operations,编写一个名为findTen的JavaScript函数,该函数从两个文本字段中读取两个数字,如果其中一个是10,或者两个都是10,或者它们的总和是10,则输出到div“True”。否则,函数应该向div输出“False” 这是我到目前为止所拥有的,但输出不正确。我的else if语句有问题: <script> function findTen() { var a = document.getElementById("one").value; var b = docu

编写一个名为findTen的JavaScript函数,该函数从两个文本字段中读取两个数字,如果其中一个是10,或者两个都是10,或者它们的总和是10,则输出到div“True”。否则,函数应该向div输出“False”

这是我到目前为止所拥有的,但输出不正确。我的else if语句有问题:

<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>

函数findTen(){
var a=document.getElementById(“一”)值;
var b=document.getElementById(“两个”).value;
var doTheMath=a+b;
如果(a==10 | | b==10){
警惕(“真实”);
}
否则如果(doTheMath==10){
警惕(“真实”);
}
否则{
警报(a b doTheMath);
}
document.getElementById(“输出”).innerHTML=c;
}

您的问题是它将输入作为字符串而不是整数处理。
您需要做的是使用parseInt函数将字符串转换成整数,因为您的a和b变量是字符串,因为它们是从文本字段中获取的。在JavaScript中,如果对字符串使用+运算符,它将连接它们。这是相当不幸的javascript“特性”。要添加文本字段中的值,首先需要将其转换为整数:

var doTheMath = parseInt(a) + parseInt(b);
此外,我认为这一说法根本行不通:

alert(a b doTheMath);
Alert接受一个字符串,因此如果要显示这三个值,则需要将它们串联起来,例如

alert(a + ' + ' + b + ' = ' + doTheMath);

您发布的代码中有一些错误:

  • a
    b
    是字符串,因此
    doTheMath
    实际上是一个字符串。在
    a=5
    b=5
    的情况下,
    doTheMath
    是“55”。它们需要通过多种方式之一进行转换。我选择了编号:

    var doTheMath=数字(a)+数字(b)

  • 警报(a b doTheMath)
    语法不正确。你应该看看他们:

    警报(a+“”+b+“”+doTheMath)

  • c
    在作业末尾未定义。因此,在
    if/else
    块中,您可能需要这样的语句:
    c=false


  • 您可以看到所有这些问题都在这里得到了解决。

    这就是我目前为止所做的,而且它工作不正常:函数findTen(){var a=document.getElementById(“一”).value;var b=document.getElementById(“二”).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;}@Tyler将此问题放入您的问题中,并提出一个更具体的问题。不要在注释中添加代码,重新编辑您的问题以包含它,单击问题下方的“编辑”,可能重复的问题