Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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 - Fatal编程技术网

Javascript 如何使用从一个函数到另一个函数的结果

Javascript 如何使用从一个函数到另一个函数的结果,javascript,Javascript,我是JavaScript新手。我需要以下代码的帮助。如何获取totalBalance并将其用于提取功能 function depositAcc(){ let depAmount = prompt('How much do you want to deposit?'); console.log('Your deposit is complete!', depAmount); anotherTrans = prompt('Do you want to do another t

我是JavaScript新手。我需要以下代码的帮助。如何获取totalBalance并将其用于提取功能

function depositAcc(){
    let depAmount = prompt('How much do you want to deposit?');
    console.log('Your deposit is complete!', depAmount);
    anotherTrans = prompt('Do you want to do another transaction? yes or no');
    if (anotherTrans == 'yes'){        
        anotherTransaction();
    }else{
        console.log('Thank you for using our Bank!');
        console.log('Your balance is ', depAmount);
        console.log('Have a nice day', userName);
    }
    return totalBalance;
}

function Withdraw(){
    let transaction = prompt('How much do you want to withdraw?');
    if(totalBalance < transation){
        console.log('Insufficient funds!');
    }else{
        totalBalance = totalBalance - transaction;
        console.log('Thank you for using our Bank');
        console.log('Your current balance is', totalBalance);
    } 
}
函数depositionacc(){
让depAmount=prompt('您想存多少?');
console.log('您的存款已完成!',depAmount);
anotherTrans=提示符('是否要执行另一个事务?是或否');
如果(另一个trans=='yes'){
另一个事务();
}否则{
console.log('谢谢您使用我们的银行!');
console.log('您的余额为',depAmount);
log('祝您愉快',用户名);
}
返回总余额;
}
函数撤回(){
let transaction=prompt('您想提取多少?');
if(总平衡<交易){
console.log('资金不足!');
}否则{
totalBalance=totalBalance-交易;
console.log(“感谢您使用我们的银行”);
console.log('您当前的余额为',totalBalance);
} 
}

您将总余额分配到哪里? 您可以在Draw内调用depositAcc函数,并将结果放入变量中供您使用


另一个选项是在这两个函数之外分配totalBalance,并在需要时进行设置。这称为全局变量

这就是我要做的。

首先,更改draw函数以包含传递的变量。并在totalbalance计算中使用传递的变量。我将此变量称为previousBalance

function Withdraw(previousBalance){
    let transaction = prompt('How much do you want to withdraw?');
    if(previousBalance < transation){
        console.log('Insufficient funds!');
    }else{
        totalBalance = previousBalance - transaction;
        console.log('Thank you for using our Bank');
        console.log('Your current balance is', totalBalance);
    }
}

您没有正确分配
totalBalance
变量

函数撤销(){
let transaction=prompt('您想提取多少?');
让totalBalance=depositAcc()//您需要添加此行
if(总平衡<交易){
console.log('资金不足!');
}否则{
totalBalance=totalBalance-交易;
console.log(“感谢您使用我们的银行”);
console.log('您当前的余额为',totalBalance);
} 
}

未定义变量
以前的余额

首先,我假设这个变量是两个函数中的一个。如果没有,则未定义它,然后首先定义它

let previousBalance = 1000;

然后该变量更具全局性。

您可以创建一个
Bank
对象,该对象定义了函数
提款
存款
,如下所示。这非常有帮助,您可以执行任意数量的操作,因为当要求您进行另一笔交易时,您仍然可以键入
yes

const Bank=函数(initialBalance=0){
this.totalBalance=初始余额;
this.init();
}
Bank.prototype.deposit=函数(参数){
让depAmount=prompt('您想存多少?');
this.totalBalance+=parseFloat(depAmount);
};
Bank.prototype.draw=函数(){
let transaction=prompt('您想提取多少');
if(this.totalBalance<事务){
console.log('资金不足!');
}否则{
this.totalBalance=this.totalBalance-parseFloat(事务);
}
};
Bank.prototype.init=函数(){
如果(!this.username){
this.username=prompt('Let start with your Name');
}
let transactionType=parseInt(提示('存款时要执行哪项交易?\n 1,取款时要执行哪项交易?);
交换机(transactionType){
案例1:
这是存款;
console.log('您当前的余额是',this.totalBalance);
打破
案例2:
这个。撤回();
console.log('您当前的余额是',this.totalBalance);
打破
}
让anotherTransaction=prompt('您想做另一个事务吗?是或否');
如果(另一个事务==“是”){
this.init();
}否则{
console.log(“感谢您使用我们的银行”);
console.log('您当前的余额是',this.totalBalance);
log('祝您愉快',用户名);
}
};

新银行()首先修复拼写错误的变量名。
totalBalance
来自哪里?如何调用这些函数?从
draw()
调用
depositAcc()
,或者存储返回值并传递到
draw()
。也读这篇文章应该是评论,而不是回答我不能评论,因为我的声誉。。。如果你能再次投票支持我,我会很高兴的(:@SamathingamajigYou在else块之后忘记了一个
}
谢谢,我会解决这个问题。我会一个一个地发帖子。我感谢你的帮助,这很有帮助。我不知道如何调用modified函数。再次感谢你。这要求每次调用提款函数时都调用存款函数。这不允许在indepe中调用存款函数一个传递的变量是一个更好的解决方案。它取决于@VelocibadgeryThis将两个函数联系在一起,防止它们被单独调用,并且不允许draw()从另一个源获取值。传递变量是更好的解决方案。我做了一些更改,使用javascript原型定义了一个
Bank
对象,该对象定义了
draw
deposit
函数。你是想对我的帖子发表评论吗?而不是发布独立的答案?最终,我通过declari修复了代码ng一个全局变量。确实有错误的变量。我修复了它,现在都设置好了。谢谢!
let previousBalance = 1000;