我對編程非常陌生,所以請原諒我的愚蠢問題。我已經建立了三個函數,根據相同的輸入「金額」計算稅率。我試圖找出一種方法,我可以讓用戶輸入一次金額並從三個函數中獲得回報。在這裏他們在下面。3返回一個輸入的計算器
//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);
}
}
};
大多數人會寫'function calculateTax(amount)'而不是'var calculateTax = function(amount)':) – 2013-02-26 02:54:52
這完全取決於你所處的上下文,儘管差異在這裏並不重要。 – 2013-02-26 02:55:43