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除了性别条件?这似乎只在我说数字的一个条件时才有效,例如。a<60

有没有办法在 else if 中使用这两个条件,或者我必须做一些不同的事情?

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

4

3 回答 3

2

在这种情况下,您在“&&”之后错过了一个“a”:else if (a>60 && <=62 && gender==0)

于 2013-10-16T11:06:17.470 回答
0

&& 表示为了使 if 语句验证为真,另一个条件最为真。它不会将条件语句应用于前一个变量。

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

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

它们可以组合成一个单独的 if 语句,如下所示:

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

本质上,&&(或 || 用于“或”条件)的双方都需要能够在其他语句之外进行评估。

因此,在您之前在另一个答案中所述的情况下,您需要将 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 回答
0

您在 if 语句中的代码是错误的

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

于 2013-10-16T12:32:16.307 回答