赋值的基础是使用if / else if语句来设置脚本。我需要一些帮助来完成if / else部分以及某人查看任何错误。这是作业:
使用IF和IF / Else语句在一个HTML文档中编写JavaScript代码,用于以下三种情况。对于每一个,请务必为每个部分写评论。
根据收入确定税率以及税收对税收的影响。
变量声明部分 1.声明一个包含用户输入的收入金额的变量。 2.声明一个变量,其中包含不征收最低收入的最低收入。 3.声明一个包含税率1的税率的变量。 4.声明一个包含税号2的税率的变量。 5.声明一个变量,其中包含税率为1的最高收入。 6.声明一个变量,其中包含税率为2的最高收入。
作业部分 7.分配1500美元作为不征收税款的最高收入金额。 8.将税率1的最高收入分配为25,000美元,将税率百分比分配为15%。任何超过25,000美元的东西都在下一个税级。 9.将税率2的最高收入分配为40,000美元,将税率百分比分配为20%。任何超过40,000美元的东西都在下一个税级。 10.要求用户输入金额。 11.将输入的数据转换为数字。
逻辑和输出部分 12.仅使用逻辑中的变量。 13.确定输入的美元金额是否应纳税。 14.确定美元金额是否在税号1或2中。 15.计算美元金额的税额,并显示一条消息,告诉用户他们输入的数量的税额是多少。 16.对于金额超过4万美元的金额,显示消息“我没有数据来计算这笔收入的税。
测试:尝试等于每个括号的最高收入的值和无税的最高收入。尝试大于40,000的数字。尝试金额为25,001或40,001。
到目前为止我的代码:
<script type="text/javascript">
// variable declarations
var userIncome;
var minIncomeNoTax;
var taxPercentBrack1;
var taxPercentBrack2;
var hiIncomeBrack1;
var hiIncomeBrack2;
var currentTaxBracket;
// Assignments
userIncome = prompt("Please enter your income in dollar amount.","");
minIncomeNoTax = 1500;
taxPercentBrack1 = 15/100;
taxPercentBrack2 = 20/100;
hiIncomeBrack1 = 25000;
hiIncomeBrack2 = 40000;
// Calculations & Output
if (userIncome >=minIncomeNoTax && userIncome <=hiIncomeBrack2)
{
alert("Your income is taxable.");
}
else if (userIncome >=minIncomeNoTax && userIncome <=hiIncomeBrack1)
{
alert("Your income amount is in tax bracket 1.");
}
else if (userIncome >hiIncomeBrack1 && userIncome <=hiIncomeBrack2)
{
alert("Your income amount is in tax bracket 2.");
}
else
{
alert("Sorry, I do not have the data to calculate the tax on this income.");
}
// output
document.write("Your Income: $" +userIncome + "<br />");
</script>
答案 0 :(得分:2)
我修复了你的if / else语句,现在似乎工作了。我把它放在jsfiddle:
您的问题是
if (userIncome <=1500 && userIncome >=40000)
else if (userIncome <=1500 && userIncome >=25000)
else if (userIncome <=25001 && userIncome >=40000)
这三个中的第二个陈述应该是<=
数字不能小于1500且大于4000;)
下一步
您应该使用您声明的变量hiIncomeBrack1和hiIncomeBrack2
替换常量1500,25000和40000最后,你的逻辑中还有一个问题,但是,我会让你找到那个问题。它与需要实际为<=
<
中的两个有关
更新代码
// variable declarations
var userIncome;
var minIncomeNoTax;
var taxPercentBrack1;
var taxPercentBrack2;
var hiIncomeBrack1;
var hiIncomeBrack2;
var currentTaxBracket;
var totalTaxDue;
// Assignments
userIncome = prompt("Please enter your income in dollar amount.", 0);
minIncomeNoTax = 1500;
taxPercentBrack1 = 15 / 100;
taxPercentBrack2 = 20 / 100;
hiIncomeBrack1 = 25000;
hiIncomeBrack2 = 40000;
// Calculations & Output
if (userIncome >= minIncomeNoTax && userIncome <= hiIncomeBrack2)
{ //The user's income falls within our range of knowledge.
alert("Your income is taxable.");
if (userIncome >= minIncomeNoTax && userIncome < hiIncomeBrack1)
{ //The user falls into our first bracket
alert("Your income amount is in tax bracket 1.");
currentTaxBracket = taxPercentBrack1;
}
else if (userIncome >= hiIncomeBrack1 && userIncome <= hiIncomeBrack2)
{ //The user falls into our second bracket
alert("Your income amount is in tax bracket 2.");
currentTaxBracket = taxPercentBrack2;
}
}
else
{ //Can't help this user, they are not within our limits.
alert("Sorry, I do not have the data to calculate the tax on this income.");
}
//Figure out the actual amount due
//Need to use parseInt to convert from string to int.(User types a string into the prompt.)
totalTaxDue = currentTaxBracket * parseInt(userIncome);
// output
document.write("Your Income: $" + userIncome + "<br />");
//Multiply the decimal tax rate by 100 so we can print out a nice and clean %.
document.write("Your Tax Percent: " + (currentTaxBracket * 100) + "%<br />");
document.write("Pay Uncle Sam: $" + totalTaxDue + "<br />");