我正在尝试调整由曾经在我公司工作的其他人制作的计算器。不幸的是,我根本无法抓住他,并想知道这里是否有人可以帮助我。我的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
有没有办法在其他地方使用这两个条件,或者我必须做些不同的事情吗?
如果有人可以提供帮助,那将会很棒 - 再次,如果这个问题解释得不好,请道歉。如果您需要更多信息,请告诉我们!我不确定我在做什么。谢谢! :)
答案 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)