Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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,这是一个班级项目,我是一年级学生。我正在制作一个纳税程序,其中一个函数计算该值所属的纳税等级,下一个函数将格式化该值,连接美元符号,用.toFixed(2)添加小数,并用.tolocalString()添加适当的逗号。我只是想通过formatMoney()函数获取要传递的值,这样我就可以继续进行其余的编码了。这个练习相当简单,但由于是新的,所以很难。如果有任何帮助,我将不胜感激,我只想让这个值通过第二个函数,这样我就可以继续我可以完成的其余编码,j function calculateTax(m

这是一个班级项目,我是一年级学生。我正在制作一个纳税程序,其中一个函数计算该值所属的纳税等级,下一个函数将格式化该值,连接美元符号,用
.toFixed(2)
添加小数,并用
.tolocalString()
添加适当的逗号。我只是想通过
formatMoney()
函数获取要传递的值,这样我就可以继续进行其余的编码了。这个练习相当简单,但由于是新的,所以很难。如果有任何帮助,我将不胜感激,我只想让这个值通过第二个函数,这样我就可以继续我可以完成的其余编码,j

function calculateTax(money) {

    let initAmount = parseFloat(prompt("How much do you have?"));
    // The different taxes to be charged.
    let tax1 = .20;
    let tax2 = .15;
    let tax3 = .05;

    // Taking the user input and comparing it to which value if has to be calculated with.
    if (initAmount <= 5) {
        money = ((initAmount * tax1) + initAmount);

    } else if (initAmount <= 100) {
        money = ((initAmount * tax2) + initAmount);

    } else if (initAmount >= 100.01) {
        money = ((initAmount * tax3) + initAmount);

    } else if (Number.isNaN(initAmount)) {
        money = ("Invalid");

    }

    return (money);
}

calculateTax();
//This function will take the value of money from the calculateTax function and format as requested from client.

function formatMoney(money) {

    let x = money;

    console.log (x);
}

calculateTax(formatMoney(money));
函数CalculateAX(货币){
让initAmount=parseFloat(提示(“您有多少?”);
//要征收的各种税。
设tax1=0.20;
设tax2=0.15;
设tax3=0.05;
//获取用户输入并将其与必须使用的值if进行比较。

if(initAmount我相信您正在寻找的代码如下。让我解释一下。这个
console.log(calculateAX(100));
行通过调用
calculateAX
并将
100
作为
initAmount
参数传递来启动该过程。然后代码运行
calculateAX
函数。当计算完金额后,它将该金额传递到
formatMoney
,这使它变得非常漂亮(我刚刚编了一些代码,如果你想要好的格式,请检查)

//示例
控制台日志(CalculateAX(100));
函数CalculateAX(initAmount){
设tax1=0.20;
设tax2=0.15;
设tax3=0.05;

if(initAmount您只需反转嵌套函数即可。此代码:

calculateTax(formatMoney(money));
表示将
money
的值传递给
formatMoney
函数,并将其结果传递给
calculateAX
函数

您的意思可能与此相反。您希望将
calculateAX
函数的结果传递给
formatMoney
函数:

formatMoney(calculateTax());
假设这将返回一个字符串——即使您现在只使用
console.log
,因此您希望将结果存储在一个变量中:

let displayAmount = formatMoney(calculateTax());

这应该可以解决您眼前的问题,但如果您感兴趣,您可能还需要解决另外两个问题:

  • 您将
    isNaN
    检查放在末尾。通常最佳做法是将此类防护装置放在前面

  • 您的
    calculateAX
    函数声明参数
    money
    ,但您从未使用它,只是在
    if-else
    块中重新定义。这也不是一个很好的做法。使用局部变量会更好。(
    let number;
    )。或者更好,您可以将
    提示符
    放在函数外部,并将该值传递给
    CalculateAX
    。这使
    CalculateAX
    函数更易于测试,意味着您的代码更模块化

let displayAmount = formatMoney(calculateTax());