我在 JavaScript switch 语句中做错了什么
What am I doing wrong in my JavaScript switch statement?
下面我有各种输入字段,我根据初始收入值在最终结果中计算月收益和年收益。
我正在尝试做的是添加单选按钮来选择他们插入的值是每周、每月等的天气......
我以收入的第一个值为例,我需要用户通过复选框来决定......
function computeBudget() {
var income = document.getElementById('income').value;
switch(rate) {
case weekly:
this.add((.value * 52) / 12);
break;
case biWeekly:
this.add((.value * 26) / 12);
break;
}
var grocery_expenses = document.getElementById('grocery_expenses').value;
var car_insurance = document.getElementById('car_insurance').value;
var home_mortgage = document.getElementById('home_mortgage').value;
var home_utilities = document.getElementById('home_utilities').value;
var life_insurance = document.getElementById('life_insurance').value;
var monthgain = (income - grocery_expenses - car_insurance - home_mortgage - home_utilities -life_insurance).toFixed(2);
monthgain = monthgain.toString().replace(/'B(?=('d{3})+(?!'d))/g, ",");
document.getElementById('monthgain').innerHTML = "Monthly Net Gain = $"+monthgain ;
var yeargain = ((income - grocery_expenses - car_insurance - home_mortgage - home_utilities -life_insurance) * 12).toFixed(2);
yeargain = yeargain.toString().replace(/'B(?=('d{3})+(?!'d))/g, ",");
document.getElementById('yeargain').innerHTML = "Yearly Net Gain = $"+ yeargain;
}
尝试在大小写值中添加引号,例如:
switch(rate) {
case "weekly": // added quotes
this.add((.value * 52) / 12);
break;
case "biWeekly": // added quotes
this.add((.value * 26) / 12);
break;
}
您需要
创建一个每周乘数变量,该变量会将转化价值保持在周内。
然后,您需要打开单选按钮的值,并为要处理的每种情况创建一个案例。
例:
var weekMultiplier = 0;
switch(rate) // a string value representing the type
{
case "weekly":
weekMultiplier = 1;
break;
case "biWeekly":
weekMultiplier = 0.5;
break;
case "monthly":
weekMultiplier = 0.25;
break;
}
然后将输入乘以此乘数。 您可以对要包含在计算中的每个值执行此操作,如果它们尚未转换为其周值。
例:
var weeklyIncome = income * weekMultiplier;
var weeklyCarInsurance = document.getElementById('car_insurance').value * weekMultiplier;
现在你可以减去它们
var weeklyGain = weeklyIncome - weeklyCarInsurance;
并将所需格式的增益乘以:
var monthlyGain = weeklyGain * 4;
var yearlyGain = weeklyGain * 52;
相关文章:
- 正在尝试为Docpad网站设置Lunr全文搜索插件.我做错了什么
- 重新加载重复数据失败,我做错了什么
- 我做错了什么
- Google Apps 脚本为 getLastRow 抛出电子邮件失败通知,我做错了什么
- Javascript语法 - 我做错了什么
- 角度灯箱不起作用.我做错了什么
- 在这个猫鼬独特的保存前验证中,我做错了什么
- 简单的Youtube iframe API就在文档中,我做错了什么
- 我正在尝试实现一个AJAX调用.我做错了什么
- 我对这个动态查询做错了什么
- 我在jQuery事件处理和隐藏/显示图像元素方面做错了什么
- 闭包中的本地变量从外部更改.这是一个javascript错误,或者我做错了什么
- JS离线检测?我做错了什么
- Jquery自动完成不是't工作.我做错了什么
- 是ngRouter的角度错误还是我做错了什么
- jQuery Toggle——我做错了什么
- javascript原型,我做错了什么
- 超级初学者JavaScript..我做错了什么
- 我在这里做错了什么?否则,如果
- Javascript和HTML - 添加一个下拉菜单,我在这里做错了什么