-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ため、どちらが常にtrueであるかを確認しています。x = 1

さらに、文字列を返し、数値であるx === nameため機能しません。厳密な比較を使用するかどうかを設定してから確認することをお勧めします。prompt1x = '1'x === name

于 2012-06-01T19:39:28.177 に答える
1

x を 1 以外に割り当てることはありません。次に、それが実際に整数 1 であることを確認します。

于 2012-06-01T19:40:13.577 に答える
0

x=1スクリプトで定義してからチェックしているためですx === 1

おそらく、ユーザー入力を に割り当てるxつもりでしたが、そうしていません。

またはzzzzBovが言うように、おそらくあなたはあなたの目的に応じて、x === nameまたはそうするつもりでした.x == name

于 2012-06-01T19:39:25.237 に答える
0

スクリプトを次のように変更します

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