何らかのルールを忘れているのかもしれません。自分が何をしたいのかを明確に伝える必要があります。「sph」変数に何を入力して保存しても、最初のアラートだけが表示されます。どちらかといえば、「else」ステートメントが機能することを期待しています。「==」および「===」演算子を使用するなど、さまざまな方法を試しました。また、「switch」ステートメントに変更し、「else if」の代わりに「if」を使用し、ネストも試しました。構文の間違いは見られないので、次の推測では、私がしようとしている方法で配列にアクセスできないということです。
注: 2 番目のプロンプト入力は、負の数を意図しています。なぜ私が「cyl <= 0」を持っているのか疑問に思っている場合に備えて。
var sph = prompt("What is the sphere power?");
var cyl = prompt("What is the cylinder power?");
var sixSevenFive = [6.5, 6.25, 6];
var six = [5.75, 5.5, 5.25];
var five = [5, 4.75, 4.5, 4.25];
var fourFive = [4.0, 3.75, 3.5];
var four = [3.25, 3.00, 2.75, 2.5, 2.25, 2, 1.75, 1.5, 1.25, 1, .75, .5, .25];
if ((sph = four) && (cyl <= 0)) {
alert("Use a 4.00 Base lens.");
}
else if ((sph = fourFive) && (cyl <= 0)){
alert("Use a 4.50 Base lens.");
}
else if ((sph = five) && (cyl <= 0)){
alert("Use a 5.25 Base lens.");
}
else if ((sph = six) && (cyl <= 0)){
alert("Use a 6.00 Base lens.");
}
else if ((sph = sixSevenFive) && (cyl <= 0)){
alert("Use a 6.75 Base lens.");
}
else {
alert("You entered an invalid prescription.");
}