使用IF Else和IF语句

时间:2016-07-15 08:48:50

标签: javascript if-statement

我使用JS来计算表单上的一些输入。我根据登录用户的类型使用了一些IF语句,以及他们输入到字段中的值。

总而言之,该公式的结构如下:

如果登录用户是管理员或贡献者,请运行公式1。 否则,如果用户是订户运行公式2。

我希望现在添加第三条规则,例如,如果登录的用户是'客户',则运行费率为3.

我面临的挑战是,在第一个公式之后,我假设知道哪个IF陈述适应新变化以及它应该放在哪里?

这是我到目前为止所拥有的:

(function(){
 if(fieldname152=='administrator','contributor') return IF((fieldname130<=1000),(fieldname130)*50.40/1000,IF(fieldname130<=10000,(fieldname130)*50.40/1000,IF(fieldname130<=50000,(fieldname130)*50.90/1000,IF(fieldname130<=500000,(fieldname130)*50.45/1000))));
 else if(fieldname152=='subscriber') return IF((fieldname130<=1000),(fieldname130)*49.40/1000,IF(fieldname130<=10000,(fieldname130)*49.40/1000,IF(fieldname130<=50000,(fieldname130)*48.90/1000,IF(fieldname130<=500000,(fieldname130)*48.45/1000))));
 })()

非常感谢任何帮助。

取值

1 个答案:

答案 0 :(得分:1)

您可以更好地分割此代码,如下所示

function calculateValue(userType, value)
{
  var multiplier = 0;
    switch(userType)
  {
    case "administrator":
    case "contributor":
        if (value > 5000000)
      {
        multiplier = 50.45;
      } else if (value > 50000)
      {
        multiplier = 50.9
      } else if (value > 1000)
      {
        multiplier = 50.4
      }
        break;
    case "user":
      // Put your value calculations here
      break;
    default:
      // This is for users other than admin, contrib or user
      if (value > 5000000)
      {
        multiplier = 48.45;
      } else if (value > 50000)
      {
        multiplier = 48.9;
      } else if (value > 1000)
      {
        multiplier = 49.4;
      }
  } // end case
  return value * (multiplier / 1000);

}

然后你可以按如下方式调用它:

var fieldname152 = 'administrator';
var fieldname130 = 500;

var result = calculateValue(fieldname152, fieldname130);