0

私の会社で働いていた他の人が作った電卓を適応させようとしています。残念ながら、私は彼をまったく捕まえることができず、ここにいる誰かが私を助けることができるかどうか疑問に思っていました. 私の JavaScript の知識は限られているため、これがばかげた質問に聞こえる場合や、明らかな何かが欠けている場合は、ご容赦ください。他の場所でこれに関する情報を見つけることができないので、どんな助けでも大歓迎です!

変更したいセクションの現在のコードは次のとおりです。

function date(){ 
        var the_date  = new Date();
    enter code herevar the_year  = the_date.getFullYear();
    ret_age=Number(document.calculator.year.value);
    gender=Number(document.calculator.sex.value);
    a=the_year-ret_age;
    if (a<=36)
      {
    document.calculator.number3.value=68;
      }
    else if (a>36 && a<=45)
      {
    document.calculator.number3.value=67;
      }
      else if (a>=45 && a<=60)
      {
    document.calculator.number3.value=66;
      }
        else if (a>60 && gender==1)
      {
    document.calculator.number3.value=65;
      }
        else if (a>60 && gender==0)
      {
    document.calculator.number3.value=65;
      }

    else
      {
      alert("Our calculator is having trouble working out your state 
pension age. You have been given a default age of 68. Feel free to 
change it.");
        document.calculator.number3.value=68;
      }

        }

これらの新しい「else if」オプションを追加したいのですが、それぞれの条件の数に問題があると思います。

        else if (a>60 && gender==0)
      {
    document.calculator.number3.value=65;
      }
        else if (a>60 && <=62 && gender==0)
      {
    document.calculator.number3.value=62;
      }
        else if (a>63 && gender==0)
      {
    document.calculator.number3.value=60;
      }

たとえば、使用しようとすると何か問題がありますか? a<61 && <=63性別条件と一緒に?これは、数値に対して 1 つの条件を指定した場合にのみ機能するようです。a<60

else if でこれら 2 つの条件を使用する方法はありますか、それとも別のことをしなければなりませんか?

誰かが助けてくれれば素晴らしいことです - 繰り返しますが、この質問の説明が不十分な場合はお詫び申し上げます。さらに情報が必要な場合は、お知らせください。何をしているのかよくわかりません。ありがとうございました!:)

4

3 に答える 3

0

&& は、if ステートメントが true と検証されるためには、別の条件が最も true であることを示します。前の変数に条件ステートメントを適用しません。

たとえば、次のような 2 つの if ステートメントがあるとします。

if(x > 1){
   if(y < 1){
      // do something
   };
};

これらは、次のような単一の if ステートメントに組み合わせることができます。

if(x > 1 && y < 1){
    // do something
};

基本的に、&& (または「or」条件の場合は ||) の両側は、他のステートメントの外で評価できる必要があります。

したがって、以前に別の回答で述べたように、ifステートメントを次のように変更する必要があります。

else if (a>60 && <=62 && gender==0)
      {
    document.calculator.number3.value=62;
      }

に:

else if (a>60 && a<=62 && gender==0)
      {
    document.calculator.number3.value=62;
      }
于 2013-10-16T11:13:14.883 に答える