如何编写一个计算利率的脚本

时间:2017-07-10 14:41:15

标签: javascript forms

我正在使用名为Calculated Fields Form的WP插件构建表单。 第一个问题是人们输入他们想要投资的金额(fieldname2)

第二个问题是人们选择月数(fieldname3) 根据金额和长度,应显示不同的利率。

我应该自己输入这个等式,所以我写了下面的脚本来尝试,但它不起作用。

(function()`{`
if (50<=fieldname2<=99 && fieldname3=3) return fieldname2*4/100;
if (50<=fieldname2<=99 && fieldname3=6) return fieldname2*6/100;
if (50<=fieldname2<=99 && fieldname3=12) return fieldname2*8/100;
`}`)();

1 个答案:

答案 0 :(得分:0)

您在此处尝试实现的目标有点不清楚,但您的代码问题如下:

(function()`{`
// --------^^^ unexpected template string
if (50<=fieldname2<=99 && fieldname3=3) return fieldname2*4/100;
// ------^^^ this is not valid  ----^^^ should be === not =
if (50<=fieldname2<=99 && fieldname3=6) return fieldname2*6/100;
if (50<=fieldname2<=99 && fieldname3=12) return fieldname2*8/100;
`}`)();
// immediately invoked function - but why?
// what happens if "50<=fieldname2<=99" is not satisfied?

一些建议 - 首先将该函数编写为可测试的实体,以查看它是否获得了您想要的结果。使用富有表现力的参数,以便您可以推断自己在做什么。考虑您的功能未涵盖的案例(请参阅下面的评论)。在这些情况下,您将返回我怀疑是可取的undefined

function calculateInterest (amount, months) {
  if (50 <= amount && amount <= 99) {
    if (months === 3) return amount*4/100;
    if (months === 6) return amount*6/100;
    if (months === 12) return amount*8/100;
    // what should we return if months does not satisfy one of the above?
  }
  // what should we return if amount does not satisfy the above?
}

假设fieldname2fieldname3是代码中存在的变量,您现在可以调用函数calculateInterest(fieldname2, fieldname3)