在JavaScript计算开始时用生成的变量覆盖变量

在JavaScript计算开始时用生成的变量覆盖变量,javascript,Javascript,这是一个新的问题。我需要运行一个计算-然后将生成的变量与开始时提供的默认值进行比较,如果不同,则覆盖默认值并重新运行计算。现在一切都是假想 例如 let defaultCount = 3; defaultCount = actualCount ? actualCount : defaultCount; actualCount = a + b. 所以问题是,在开始时,actualCount尚未定义。所以我需要忽略它,然后在它被定义后重新运行 需要使用defaultCount进行比较。 提前谢谢

这是一个新的问题。我需要运行一个计算-然后将生成的变量与开始时提供的默认值进行比较,如果不同,则覆盖默认值并重新运行计算。现在一切都是假想

例如

let defaultCount = 3;
defaultCount = actualCount ? actualCount : defaultCount;
actualCount = a + b.
所以问题是,在开始时,
actualCount
尚未定义。所以我需要忽略它,然后在它被定义后重新运行

需要使用
defaultCount
进行比较。
提前谢谢

因此,在我的代码的顶部

let appliedTaxRate = 0.45
if(incomeTaxRate == undefined) {
    appliedTaxRate = appliedTaxRate
} else {
   appliedTaxRate = incomeTaxRate
}
在这两者之间有许多计算,然后添加到下面的最终比较中,这些需要使用第一次加载的默认值, 然后,如果新计算的值与 启动默认值。这使得整个计算需要运行两次

在基地我有

//incomeTaxRate
if(totalEarnings>personalHigherUL) {
    incomeTaxRate = personalAdvancedRate
} else {
    if(totalEarnings>personalBaseUL) {
        incomeTaxRate = personalHigherRate
    } else {
        if(totalEarnings>personalZeroUL) {
            incomeTaxRate = personalBaseRate
        } else {
            incomeTaxRate = 0
        }
    }
}

您需要将
actualCount
声明为未定义,然后进行函数检查(如果已定义)。如果不是,则使用
defaultCount

让defaultCount=3;
让actualCount=未定义;
支票计数();
实际数量=1;
支票计数();
函数checkCount(){
如果(实际计数){
defaultCount=实际计数;
}
console.log(defaultCount);

}
我通常完成的工作如下:

let actualCount; 
let function = mainCalculation() {
    let function = primaryCalculation() {
         ...calculations
        };
    primaryCalculation();
    primaryCalculation();
};
mainCalculation();
我删除了if/else语句和默认变量


感谢所有的帮助

为什么不将init
actualCount
初始化为
defaultCount
一次,然后根据需要简单地更新值?@Yoshi我可以编写defaultCount=actualCount,但我的想法是,如果有更新,就使用if语句刷新计算。我有一个运行的if语句列表,它们依赖于实际值并影响实际值。因此,我需要计算一个新的actualCount并重新运行它-除非我完成第一次运行并对输出进行比较,然后再次运行?我认为这并不容易,但考虑到您的代码,我无法理解实际问题是什么。我想您需要扩展您的问题,以包含使问题更为明显的代码。@Yoshi我添加了更多行。很抱歉,看到这一点,我不确定我能帮上什么忙。我的感觉是,你彻底地把事情复杂化了,或者这可能只是一个简单的问题。但是考虑到您所展示的,我建议创建一些纯函数,它们根据输入返回值(例如,
getIncomeTax(…)
getAppliedTax(…)
,…)。通过这种方式,将整个问题分解为几个可单独验证的代码片段。这将使推理变得更容易,原来的问题甚至可以简单地通过清理来解决。如果这是一个愚蠢的问题,请原谅。。但要将defaultCount从函数中拉出,我只需要使用return命令,而不是console.log?没错:)我只记录它来显示它是如何工作的。您将执行
返回defaultCount如果这对您有帮助,请您在上面选择我的答案^仍在努力,但一旦我到达那里,我将感谢Shappy的帮助:)