密码不需要工作帮助



我一直在处理密码来保护我的网页,这是一个实验页面,因为我是HTML,CSS和Java的新手。

以下是密码的代码。有人能帮我吗?该密码似乎计算出在提供的空间中输入的所有内容。我只需要一个密码来工作,但我不确定该如何处理。以下是密码的代码,任何帮助都将不胜感激

 <script>
    function checkPassword(){
    var password = document.getElementById("PasswordBox");
    var passwordText = password.value;
    if(passwordText == "pheasey101"){
    return true;
    alert("access denied! Incorrect password!!");
    return false;
    }

没有所有相关代码,很难说,但我怀疑您遇到了JavaScript的真相/假值。如前所述,缺乏闭合支架意味着您的功能可能没有做您认为正在做的事情。同时,一切返回真实的事实意味着您可能已经在其他地方得到了:

if (checkPassword){
    //the thing that always happens
}

...或此:

if (checkPassword()){
    //the thing that always happens
}

当您使用上述隐式平等时,JavaScript使用类型的胁迫来评估True/false。由于您的函数" checkpassword"似乎没有返回默认值,因此JavaScript将检查它是否存在于内存中作为参考,然后将其评估为true。

if (checkPassword() == true){
    //a better sort of check, but it also uses type coercion
    //if checkPassword returns the string "true", this will pass
}
if (checkPassword() === true){
    //an even better check; no type coercion occurs
}

修复您的功能,以使其始终返回一个值,然后使用严格的平等来证明结果。

我不太确定JavaScript,但是在Java中进行比较时,您必须使用.equals()而不是==,例如,在Java中,您的代码应为:

if(passwordText.Equals("pheasey101")) {
    return true;
}

我注意到的另一个问题是,您缺少卷曲支架,在IF语句打开卷曲括号之后,您永远不会将其关闭,并在IF语句中返回false零件。这也意味着该函数没有确定的结尾。返回真实之后,添加闭合的卷曲支架,看看是否将其修复,否则请尝试使用.equals在JavaScript中是否有这样的东西。

希望这会有所帮助。

最新更新