我正在使用名为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;
`}`)();
答案 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?
}
假设fieldname2
和fieldname3
是代码中存在的变量,您现在可以调用函数calculateInterest(fieldname2, fieldname3)