Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么总预算没有得到更新?_Javascript_Error Handling - Fatal编程技术网

Javascript 为什么总预算没有得到更新?

Javascript 为什么总预算没有得到更新?,javascript,error-handling,Javascript,Error Handling,有人能在密码笔里查一下我的密码吗? 将项目添加到列表后,应在控制台中记录总预算 它只显示0。请查看codePen控制台中的代码。 budCalc:function(){ var预算,百分比,totalInc,totalExp; totalInc=data.totals.inc; totalExp=data.totals.exp; 预算=data.totals.inc-data.totals.exp; 百分比=(data.totals.exp/data.totals.inc)*100 控制台日志

有人能在密码笔里查一下我的密码吗? 将项目添加到列表后,应在控制台中记录总预算

它只显示0。请查看codePen控制台中的代码。

budCalc:function(){
var预算,百分比,totalInc,totalExp;
totalInc=data.totals.inc;
totalExp=data.totals.exp;
预算=data.totals.inc-data.totals.exp;
百分比=(data.totals.exp/data.totals.inc)*100
控制台日志(预算);
/////////预算控制员////////
变量budgetController=(函数(){
var Expence=功能(id、des、值){
this.id=id;
this.des=des;
这个值=值;
}
var收入=功能(id、des、值){
this.id=id;
this.des=des;
这个值=值;
}
风险值数据={
allItems:{
股份有限公司:[],
经验:[]
},
总数:{
inc:0,
实验:0,
预算:0,
百分比:0
}
}
返回{
附加项:函数(类型、des、val){
var newItem,id;
if(data.allItems[type].length>0){
var id=data.allItems[type][data.allItems[type].length-1].id+
1.
}否则{
id=0;
}
如果(类型==“exp”){
新项目=新支出(id、des、val);
}else if(类型==“inc”){
新项目=新收入(id、des、val);
}
data.allItems[type].push(newItem);
返回新项目;
},
calcTotal:函数(类型){
总和=0;
data.allItems[type].forEach(函数(){
总和+=数据总计[类型];
数据.总计[类型]=数据.总计[类型]+总和;
}
)
},
budCalc:函数(){
var预算,百分比,totalInc,totalExp;
totalInc=data.totals.inc;
totalExp=data.totals.exp;
预算=data.totals.inc-data.totals.exp;
百分比=(data.totals.exp/data.totals.inc)*100
控制台日志(预算);
var getBudget=函数(){
返回{
totalInc:totalInc,
totalExp:totalExp,
总预算:预算,
百分比:百分比
}
}
},
测试:函数(){
控制台日志(数据);
}
}
}());
//////////用户界面控制器//////////////
var UIController=(函数(){
var DOMs={
输入类型:“.添加类型”,
inpDes:“.添加描述”,
inpVal:“.添加值”,
inpBtn:“.add\u btn”,
incCon:“.收入清单”,
expCon:“.费用清单”
}
返回{
getInp:function(){
返回{
类型:$(DOMs.inpType).val(),
des:$(DOMs.inpDes).val(),
val:parseFloat($(DOMs.inpVal.val())
}
},
addListItem:函数(对象,类型){
var-html、newHTML、ele;
如果(类型==“inc”){
ele=DOMs.incCon;
html='%des%+%val%
';
}else if(类型==“exp”){
ele=DOMs.expCon;
html='%des%-%val%21%
';
}
newHTML=html.replace(“%id%”,obj.id);
newHTML=newHTML.replace(“%des%”,obj.des);
newHTML=newHTML.replace(“%val%”,obj.value);
$(ele).append(newHTML);
这个.clearFields();
},
clearFields:function(){
$(DOMs.inpDes).add(DOMs.inpVal).val(“”);
$(DOMs.inpDes.focus();
},
getDOM:function(){
返回DOMs;
}
}
}
());
//////////主控制器/////////
变量控制器=(函数(budgetCtrl、UICtrl){
var eventLis=函数(){
var DOM=UICtrl.getDOM();
$(DOM.inpBtn).on(“单击”,eventBtn);
$(“html”)。在(“按键”,函数()上{
if(event.keyCode==13 | | event.which==13){
eventBtn();
}
})
}
函数eventBtn(){
var input=UICtrl.getInp();
如果(input.des!=“”&&&!isNaN(input.val)&&input.val>0){
var newItem=budgetCtrl.addItem(input.type,input.des,input.val);
UICtrl.addListItem(newItem,input.type);
}
budgetCtrl.budCalc();
}
返回{
init:function(){
log(“应用程序已启动!”);
eventLis();
}
}
})(预算控制器,UIController);
controller.init();

这都是JavaScript代码。但是我不知道为什么我的预算没有更新?

如果此时检查完整的数据结构对象

budCalc: function() {
var budget, percent, totalInc, totalExp;

//here
console.log(data);

totalInc = data.totals.inc;
totalExp = data.totals.exp;

budget = data.totals.inc - data.totals.exp;
percent = (data.totals.exp / data.totals.inc)*100
}

您将看到data.total属性每次都设置为零

您需要在问题中显示足够的代码,以便我们查看、重现、理解和纠正您描述的问题。请参阅“”和“”准则,然后是您的问题,以便我们能够帮助您。不要期望我们去外部站点这样做。请参阅codePen请立即检查如何解决此问题?根据您的需要,这里的值设置为零,并且从不修改,您需要在calcTotal函数()中执行此操作?
budCalc: function() {
var budget, percent, totalInc, totalExp;

//here
console.log(data);

totalInc = data.totals.inc;
totalExp = data.totals.exp;

budget = data.totals.inc - data.totals.exp;
percent = (data.totals.exp / data.totals.inc)*100
}