计算器的一个输入返回3
3 returns for one input for a calculator
我对编程很陌生,所以请原谅我可能愚蠢的问题。我构建了三个函数,根据相同的输入"金额"计算税率。我正试图找到一种方法,让用户输入一次金额,然后从所有三个函数中获得回报。它们在下面。
//Function 1
var normalrtfCalculator = function (amount) {
if (amount <= 150000) {
return Math.ceil(amount / 500) * 2;
} else if (amount <= 350000) {
if ((amount - 150000) <= 50000) {
return 600 + (Math.ceil((amount - 150000) / 500) * 3.35);
} else {
return 935 + (Math.ceil((amount - 200000) / 500) * 3.9);
}
} else {
if ((amount - 200000) <= 350000) {
return 2735 + (Math.ceil((amount - 200000) / 500) * 4.8);
} else if ((amount - 550000) <= 300000) {
return 4655 + (Math.ceil((amount - 555000) / 500) * 5.3);
} else if ((amount - 850000) <= 150000) {
return 7835 + (Math.ceil((amount - 850000) / 500) * 5.8);
} else {
return 9575 + (Math.ceil((amount - 1000000) / 500) * 6.05);
}
}
};
//Function 2
var mansionTax = function (amount) {
if (amount > 1000000) {
return amount * 0.01;
}
};
//Function 3
var lowincomertfCalculator = function (amount) {
if (amount <= 350000) {
if (amount <= 150000) {
return (Math.ceil(amount / 500)) * 0.5;
} else {
return 150 + (Math.ceil((amount - 150000) / 500)) * 1.25;
}
} else {
if ((amount - 150000) <= 400000) {
return 420 + (Math.ceil((amount - 150000) / 500) * 2.15);
} else if ((amount - 550000) <= 300000) {
return 2140 + (Math.ceil((amount - 550000) / 500) * 2.65);
} else if ((amount - 850000) <= 150000) {
return 3730 + (Math.ceil((amount - 850000) / 500) * 3.15);
} else {
return 4675 + (Math.ceil((amount - 1000000) / 500) * 3.4);
}
}
};
只需要一个函数来运行其他函数并返回结果的对象:
var calculateTax = function(amount){
return {
rtf : normalrtfCalculator(amount),
mansion: mansionTax(amnount),
lowincome: lowincomertfCalculator(amount)
}
}
那么你可以这样称呼它:
var tax = calculateTax(99999);
要获得单独的结果,您只需访问属性:
alert(tax.rtf)
、alert(tax.mansion)
和alert(tax.lowincome)
所需的最小更改可能与在分配给变量之前添加()
一样小。
类似于:
var amount = 100;
//Function 2
var mansionTax = (function () {
if (amount > 1000000) {
return amount * 0.01;
}
})();
这是一个工作样品。
这将消除定义任何附加功能的需要。
相关文章:
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 使用向下箭头键(与tab键一样)聚焦下一个输入
- 如何将键入的文本从一个输入类型的文本复制到另一个
- 在另一个输入后在Javascript中添加值
- 仅对一个输入按钮禁用应用
- 使用reactjs setState回调获取上一个输入值的计算值
- 当阻止Enter键提交AJAX表单时,关注下一个输入是't工作
- JavaScriptHtml从一个输入中获取值
- 如何将src的值放在一个输入中,然后在另一个页面上显示它
- 当一个输入与另一个输入的 ID 具有相同的名称时的含义
- jQuery将输入集中在下一个tr->td时,td包含一个输入字段,但从不关注html选择
- 使用一个输入作为两个按钮的值
- 将一个html表转换为json对象并将其发送到php页面,该表有一个输入字段
- 将文件插入到另一个输入的输入
- 如何将一个输入栏推开
- 多个输入,用户只能在其中一个输入中输入
- 使用Jquery Keyup函数将变量从一个输入字段传递到另一个
- Chrome(Android)键盘将单词转移到js焦点更改的下一个输入
- 使用JQuery将焦点更改为粘贴事件后的下一个输入
- jQuery:在除一个输入文本字段之外的所有文档上激发keyup