我得到存储在一个对象中的多个用户输入,名为inputObj,然后这些属性需要全部排在100以外(附加的是当前排名的一个属性的方法),需要做这为多达20个属性,所以目前这是一种方法,即时通讯重复自己很多。使用if语句的数字操作javascript
该数学是所有工作正常,即时gettign所需的输出,但需要一个更加干净的方式来做到这一点,建议?
的主要问题是,数学运算会为每个属性发生变化,因此适用于所有属性的通用功能不会工作
感谢
if (inputObj.dyAGE <=5) {
inputObj.dyAGE *= 5.5;
}
else if (inputObj.dyAGE<=7) {
inputObj.dyAGE -= 5;
inputObj.dyAGE *= 16.5;
inputObj.dyAGE += 33;
}
else if(inputObj.dyAGE<=11) {
inputObj.dyAGE -= 7;
inputObj.dyAGE *= 8.25;
inputObj.dyAGE += 66;
}
else if (inputObj.dyAGE<=16) {
inputObj.dyAGE -= 17;
inputObj.dyAGE = -inputObj.dyAGE;
inputObj.dyAGE *= 6.6;
inputObj.dyAGE += 66;
}
else if(inputObj.dyAGE <= 19) {
inputObj.dyAGE -= 20;
inputObj.dyAGE = -inputObj.dyAGE;
inputObj.dyAGE *= 11;
inputObj.dyAGE += 33
}
else if (inputObj.dyAGE <= 30) {
inputObj.dyAGE-31;
inputObj.dyAGE = -inputObj.dyAGE;
inputObj.dyAGE *= 3;
};
你可能做的最后一个'if'体的第一行错了吗? – pimvdb 2012-02-24 10:54:50
哦是的,我说好的看出, 答案已经很大!但我忘了解释,数学运算改变每个属性,因此不能让一个功能,并将其应用到不同的属性 – BradStevenson 2012-02-24 12:48:52
@BradStevo:看到更新 – georg 2012-02-24 18:33:54