“否则如果”Javascript计算器中的条件

时间:2013-10-16 11:02:41

标签: javascript if-statement conditional-statements calculator

我正在尝试调整由曾经在我公司工作的其他人制作的计算器。不幸的是,我根本无法抓住他,并想知道这里是否有人可以帮助我。我的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以及性别状况?这似乎只有在我说出这个数字的一​​个条件时才有用,例如。 a<60

有没有办法在其他地方使用这两个条件,或者我必须做些不同的事情吗?

如果有人可以提供帮助,那将会很棒 - 再次,如果这个问题解释得不好,请道歉。如果您需要更多信息,请告诉我们!我不确定我在做什么。谢谢! :)

3 个答案:

答案 0 :(得分:2)

你错过了'&amp;&amp;'之后的'a'在这种情况下:else if (a>60 && <=62 && gender==0)

答案 1 :(得分:0)

&amp;&amp;表示为了使if语句验证为true,其他条件最为正确。它不会将条件语句应用于上一个变量。

例如,如果您有两个if语句,如下所示:

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

它们可以组合成一个单独的if语句:

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

基本上&amp;&amp;和&amp; (或||表示“或”条件)需要能够在其他语句之外进行评估。

因此,如您在其他答案中所述,您需要更改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;
      }

答案 2 :(得分:0)

你在if语句中的编码是错误的

else if (a>60 && <=62 && gender==0)替换为else if (a>60 && a<=62 && gender==0)