gpt4 book ai didi

javascript - window.prompt 的值未返回正确的 "Length"属性值

转载 作者:太空宇宙 更新时间:2023-11-04 15:46:41 25 4
gpt4 key购买 nike

我对 Javascript 有点陌生,我正在努力学习它。我目前正在创建一段代码,提示用户输入他们的姓名,并显示该姓名是否包含 5 个字符或更多、更少或正好。但它一直向我显示它是 5 个字符,即使它超过 5 个。如果有人可以帮助我调试这个,我将不胜感激。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3school.org/1999/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Understanding Javascript</title>
<script type="text/javascript"
language="javascript">
username = prompt("Please enter your name");
message = "Hello," + username + " Your name has ";
nameLen = username.Length;
if (nameLen > 5)
message = message + "more than ";
else if (nameLen < 5)
message = message + "less than ";
else
message = message + "exactly ";
message = message + " 5 characters";

alert(message)
</script>
</head>
<body>
</body>
</html>

最佳答案

问题出在这一行:

nameLen = username.Length;

这行实际上将 nameLen 设置为 undefined

设置 if 语句的方式,

if (nameLen > 5) { // undefined is not greater than 5

} else if (nameLen < 5) { // undefined is not less than 5

} else { // undefined is not equal to 5 either, but who cares? it's a broad else

}

意味着它将始终进入 else 子句。

要解决此问题,只需将 username.Length 更改为 username.length 即可。 JavaScript 是区分大小写的语言,因此如果您不小心,将来可能会更频繁地出现此类错误。

关于javascript - window.prompt 的值未返回正确的 "Length"属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43508664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com