如果语句始终返回True

时间:2020-05-31 20:57:30

标签: javascript arrays

我正在尝试检查输入是否正确,如果错误则继续输入下一个单词。

        "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 = ''   ;
    }
    };

由于某种原因,如果陈述无效,有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

  1. 您应该使用==而不是=,这总是导致true(也可以使用===进行类型检查):
if (x == myInput.value)
  1. 您在这里遇到语法错误(删除;):
var x = myArray[Math.floor(Math.random()*myArray.length)]);

答案 1 :(得分:1)

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

myInput.value