我一直在处理密码来保护我的网页,这是一个实验页面,因为我是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中是否有这样的东西。
希望这会有所帮助。