Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 If语句始终返回True_Javascript_Arrays - Fatal编程技术网

Javascript If语句始终返回True

Javascript If语句始终返回True,javascript,arrays,Javascript,Arrays,我试图检查输入是否为真,如果为假,则继续下一个单词 "Apples", "Bananas", "Pears", "Door", "Towel", "Computer", ]; var x = myArray[Math.floor(Math.random()*myArray.length)]; function clearbox(){ if (x = myInput.val

我试图检查输入是否为真,如果为假,则继续下一个单词

        "Apples",
        "Bananas",
        "Pears",
        "Door",
        "Towel",
        "Computer",
    ];


    var x = myArray[Math.floor(Math.random()*myArray.length)];

function clearbox(){
    if (x = myInput.value){
        var x = myArray[Math.floor(Math.random();*myArray.length)]);
        document.getElementById('myInput').value = ''
        document.getElementById("word").innerHTML = x
    } else {
        document.getElementById('myInput').value = ''   ;
    }
    };
由于某种原因,如果Station不起作用,有人能帮忙吗

  • 您应该使用
    =
    而不是
    =
    ,这会导致总是
    true
    (您也可以使用
    ==
    进行类型检查):
  • 此处出现语法错误(请删除
    ):
  • 您应该使用
    =
    而不是
    =
    ,这会导致总是
    true
    (您也可以使用
    ==
    进行类型检查):
  • 此处出现语法错误(请删除
    ):

  • if语句
    if(x=myInput.value)
    应该使用布尔比较运算符(
    =
    ),但是您使用了赋值运算符(
    =
    )。因此,变量
    x
    被设置为值
    myInput.value
    ,它将始终返回true,因为编译器将值>0解释为true。相反,您的函数应为:

    function clearbox(){
        if (x == myInput.value){
            var x = myArray[Math.floor(Math.random()*myArray.length)]);
            document.getElementById('myInput').value = ''
            document.getElementById("word").innerHTML = x
        } else {
            document.getElementById('myInput').value = ''   ;
        }
    

    if语句
    if(x=myInput.value)
    应该使用布尔比较运算符(
    =
    ),但是您使用了赋值运算符(
    =
    )。因此,变量
    x
    被设置为值
    myInput.value
    ,它将始终返回true,因为编译器将值>0解释为true。相反,您的函数应为:

    function clearbox(){
        if (x == myInput.value){
            var x = myArray[Math.floor(Math.random()*myArray.length)]);
            document.getElementById('myInput').value = ''
            document.getElementById("word").innerHTML = x
        } else {
            document.getElementById('myInput').value = ''   ;
        }
    

    下面的答案建议使用
    =
    ,但有时也最好通过
    ==
    检查类型。因此,这意味着使用
    if(var==value)
    而不是
    if(var==value)
    下面的答案建议使用
    =
    ,但是有时也最好通过
    ==
    检查类型。因此,这意味着使用
    if(var==value)
    而不是
    if(var==value)
    。编译器将其设置为true。。没有编译器:)JavaScript是一种解释语言,不是编译语言哦,该死!我才意识到这是JavaScript而不是C++ LOL!干杯..对编译器来说是真的。。没有编译器:)JavaScript是一种解释语言,不是编译语言哦,该死!我才意识到这是JavaScript而不是C++ LOL!干杯
    function clearbox(){
        if (x == myInput.value){
            var x = myArray[Math.floor(Math.random()*myArray.length)]);
            document.getElementById('myInput').value = ''
            document.getElementById("word").innerHTML = x
        } else {
            document.getElementById('myInput').value = ''   ;
        }