Javascript基本数学运算有时不计算

Javascript基本数学运算有时不计算,javascript,math,Javascript,Math,在我正在编写的javascript实现中,我遇到了一个非常有趣的问题。我有一个名为add()的函数,如果传递的对象是自定义矩阵类的实例,它将执行矩阵加法,但在代码中的不同点,同一个函数不会计算结果。功能如下: add(n) { if(n instanceof Matrix) { console.log('sum aaa') for(let i = 0; i < this.rows; i++) { for(let j = 0;

在我正在编写的javascript实现中,我遇到了一个非常有趣的问题。我有一个名为add()的函数,如果传递的对象是自定义矩阵类的实例,它将执行矩阵加法,但在代码中的不同点,同一个函数不会计算结果。功能如下:

add(n) {
    if(n instanceof Matrix) {
        console.log('sum aaa')
        for(let i = 0; i < this.rows; i++) {
            for(let j = 0; j < this.cols; j++) {

                // I broke down the formula to see each output independently
                let a = this.data[i][j]
                let b = n.data[i][j]
                let result = a + b
                this.data[i][j] = result
                console.log('a = ' + a + ' b = ' + b + ' result = ' + result)

                // this is what I had
                //this.data[i][j] += n.data[i][j]
            }
        }
    } else {
        console.log('sum bbb')
        for(let i = 0; i < this.rows; i++) {
            for(let j = 0; j < this.cols; j++) {
                this.data[i][j] += n
            }
        }
    }

}
add(n){
if(矩阵的n个实例){
console.log('sum aaa')
for(设i=0;i
下面是我调用同一函数的两次不同时间的输出:

请注意,在第一个图像中,所需输出是如何计算的,但在第二个图像中,根本没有计算

这个函数是从一个神经网络的方法调用的,我在youtube教程之后正在构建这个神经网络。起初,我认为问题可能出在调用函数的地方,但使用不同的场景和数据集运行测试时,一切都按预期进行了计算,问题似乎确实出在add()函数中

我是不是遗漏了什么?为什么会发生这种情况?老实说,我没有线索。任何帮助都将不胜感激


谢谢大家!

它正在做加法。请注意,在第二幅图中,所有
b
值的末尾都有一个“e-28”,这是指数表示法,表示b值非常小,基本上为0。
添加操作正在进行中,
b
值对第二个示例中的输出没有明显的影响。

您是对的。。。在看了几个小时的数字试图弄清楚发生了什么之后,我错过了这个。非常感谢。