计算2个互相引用并相互依赖的变量?类似于Excel如何计算单元格?

时间:2018-08-27 11:15:34

标签: javascript excel

我正在尝试将Excel电子表格计算器转换为JavaScript计算器。我已经完成了90%的工作,但是我陷入了定义两个变量的一部分。

excel电子表格上的两个单元格相互引用,excel以某种方式同时计算了这两个单元格。就我所知,JavaScript是按顺序编译的,最重要的是bototm。

因此,对于下面的示例,我无法计算依赖于变量C的变量B,因为尚未定义C。这两种方法都还根据先前根据计算器中输入的用户计算出的值作出答复,因此我无法进行任何预计算(可以吗?)。

那么有没有一种方法可以强制javascript同时计算两者呢?

示例:

var A = ?, 
    B = C-A, 
    C = B-2;

我不是开发人员,因此对我的问题中的任何漏洞/错误表示抱歉。任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分:1)

我不确定100%是否可以很好地处理这种样式的JavaScript,但是您可以以某种方式构造它,

var a = 2;

var b = 1;

var c;

c = a-b; //预期为1。

答案 1 :(得分:0)

您可以添加事件侦听器以更改输入。每当您对输入进行任何更改时,它都可用于计算B和C的值。

类似...

var B, C;
var input = document.getElementById("input_id");
input.addEventListener("change", function (){
    var A = document.getElementById("input_id").value
    B = C-A, 
    C = B-2;
})

因此,每次您对A进行任何更改时,B和C都会根据A的新值而具有新值。