-1

如果您运行此脚本并在提示框中输入 2,它永远不会运行 else,我不知道为什么。是我如何设置 var 或 myFunction 不正确。

<!DOCTYPE html>
<html>
<body>

<p>Click the button to demonstrate the prompt box.</p>

<button onclick="myFunction()">Try it</button>

<script type="text/javascript">
function myFunction()
{
var x=1;
var name=prompt("Please enter a number one");

if ( x===1)
  {
alert("good");
  }
else 
  {
alert("not a number 1");
  }

} 
</script>

</body>
</html>
4

4 回答 4

4

我相信你想检查一下x == name

您正在检查x === 1哪个总是正确的,因为您已经设置x = 1并且从未覆盖它。

此外,x === name不能作为prompt返回字符串工作,1而是一个数字。您可能需要设置x = '1'然后检查x === name是否要使用严格比较。

于 2012-06-01T19:39:28.177 回答
1

您永远不会将 x 分配给除 1 之外的任何东西!然后你检查它确实是整数 1。

于 2012-06-01T19:40:13.577 回答
0

将您的脚本更改为

if (prompt("Please enter a number one") != 1){
    alert('Not a number 1');
} else {
    alert('Good')
}
于 2012-06-01T19:41:06.610 回答
0

因为您x=1在脚本中定义然后检查x === 1.

也许您打算将用户输入分配给x,但您没有这样做。

或者正如 zzzzBov 所说,也许您打算这样做x === namex == name取决于您的目的。

于 2012-06-01T19:39:25.237 回答