jslint.comとjshint.comでjavascriptコードをチェックしたところ、エラーはないと言います。しかし何らかの理由で、私のコードは私が望むものに走っていません。 while文のいずれかが動作していないか、while文の後に停止しているようです:Javascriptは関数全体を実行しません(JSLIntは言及しません)
function aMode() {
personData();
if (Enchance1.value == 10) {
Taken = Taken + (1.25 * EnhanceLevel1.value);
}
if (Enhance1.value == 20) {
Taken = Taken + (EnhanceLevel1.value * 1.37);
}
if (Enhance2.value == 10) {
taken2 = t
----------
Taken2 + (1.25 * EnhanceLevel2.value);
}
if (Enhance2.value == 100) {
Taken2 = Taken2 + (EnhanceLevel2.value * 1.37);
}
while (HP1 <= 0) {
HP1 = HP1 - Taken2;
tries1 = tries1 + 1;
}
while (HP2 <= 0) {
HP2 = HP2 - Taken1;
tries2 = tries2 + 1;
}
if (tries1 > tries2) {
//document.getElementById('personWon').innerHTML = person1.value;
alert(person1.value + "won!");
} else if (tries1 < tries2) {
//document.getElementById('personWon').innerHTML = person2.value;
alert(person2.value + "won!");
}
//alert("test"); <- test
}
問題は、HTMLで、それがボタンで機能を実行したときの文の場合、それだけで動作します、です最初のwhileステートメント私はalert("test")
を最後に付けてコード全体を実行するかどうかを確認するので、これを知っています。それ以来私は正しく機能を綴っていることを知っている、私はalert("test")
を置く場合、それは動作します。ボタンのコードは、<button id="typeMode" onclick="aMode()">Click me!</button>
です。具体的には、あるクラスのdivにあります。私が言いましたもう一つは、「厳格な使用」でした。私のjavascriptコードの最初の行に。
私は間違った構文を使用していますか?それは私がセミコロン ';'か何か?
ご協力いただきましてありがとうございます。
あなたの 'alert()'文は、特定の条件でのみ実行されます。多分、それらの条件が満たされていないでしょうか? 'while 'ループも特定の条件下でのみ実行されます。これをデバッガで実行し、実際の実行時動作が何であるか、変数のランタイム値が何であるかを確認します。 "それは全体の機能を実行していない"は、非スターターのようなものです。それは実行するように指示されたコードを正確に実行しています。 – David
しかし、最後の2つのifステートメントのいずれかが満たされなければなりません。 player1が勝ったか、player2が勝ったかのいずれか。 – Christian
'hits1 == hits2'以外の場合、どちらの条件も満たされません。これは、デバッグが推測や推測よりもはるかに優れている理由です。 – David