Javascript var 在控制台中显示良好,而不是 html

Javascript var displays good in console, not in html

我实际上是在开发人员学校学习 Javascript,我们有一个计算器可以用 html、css 和 javascript 来制作。

我快完成了,除了我有一个问题,找不到解决方案。

我有这个功能

function calcul(operateur){ // fonction du calcul et affichage du résultat
    var lcd = document.getElementById("lcd");
    switch (operateur){
        case "+" : 
            result = Number(n2) + Number(n1);
            console.log(result);
            lcd.innerHTML = result;
            reset();
            break;
        case "-" : 
            result = Number(n2) - Number(n1);
            console.log(result);
            lcd.innerHTML = result;
            reset();
            break
        case "/" : 
            result = Number(n2) / Number(n1);
            console.log(result);
            lcd.innerHTML = result;
            reset();
            break
        case "*" : 
            result = Number(n2) * Number(n1);
            console.log(result);
            lcd.innerHTML = result;
            reset();
            break;
    } // résultat affiché, remise à zéro des variables en cas de nouveau calcul par l'utilisateur

非常简单,它只是根据 2 个变量进行计算,然后将结果显示在我的 html 文件中的 div 中。

我的问题是:在控制台中显示结果正常,紧接着的行将其放入 innerHTML,并且始终显示 0... :( 我还有其他功能可以在完全相同的 innerHTML 中显示值,并且它几乎可以正常工作,所以我在尝试找出为什么它无法按预期工作数小时后陷入困境:/

完整的 html、css 和 javascript 页面(分别命名为 index.html、BSoverload.css 和 script.js)在此 Github 页面 https://github.com/Mikerhinos/Calc ,抱歉,评论是法语的,因为我在法国学习,所以教授也是法国人。

感谢那些愿意帮助我的人:)

你在该文件的前面

        case "=" : // si l'utilisateur demande le résultat de l'opération
            if ((operateur !== "") && (n1,n2 >= 0)){ // s'il y a bien une opération à faire, la transmettre à la fonction de calcul
                calcul(operateur);
            }
            else {
                break; // sinon ne pas tenir compte de la touche
            }

只在else语句中中断,所以属于下面的情况,依次设置为0

function calcul(operateur){ // fonction du calcul et affichage du résultat
    var lcd = document.getElementById("lcd");
    var n1= 1;
    var n2 = 2;
    switch (operateur){
        case "+" : 
            result = Number(n2) + Number(n1);
            console.log(result);
            lcd.innerHTML = result;
             break;
        case "-" : 
            result = Number(n2) - Number(n1);
            console.log(result);
            lcd.innerHTML = result;
            reset();
            break
        case "/" : 
            result = Number(n2) / Number(n1);
            console.log(result);
            lcd.innerHTML = result;
            reset();
            break
        case "*" : 
            result = Number(n2) * Number(n1);
            console.log(result);
            lcd.innerHTML = result;
            reset();
            break;
    }
    }// résultat affiché, remise à zéro des variables en cas de nouveau calcul par l'utilisateur
<p id="lcd"> </p>

<button onclick="calcul('+')">Try it</button>

function calcul(operateur){ // fonction du calcul et affichage du résultat
    var lcd = document.getElementById("lcd");
    switch (operateur){
        case "+" : 
            result = Number(n2) + Number(n1);
            console.log(result);
            lcd.innerHTML = result;
            reset();
            break;
        case "-" : 
            result = Number(n2) - Number(n1);
            console.log(result);
            lcd.innerHTML = result;
            reset();
            break
        case "/" : 
            result = Number(n2) / Number(n1);
            console.log(result);
            lcd.innerHTML = result;
            reset();
            break
        case "*" : 
            result = Number(n2) * Number(n1);
            console.log(result);
            lcd.innerHTML = result;
            reset();
            break;
    } // résultat affiché, remise à zéro des variables en cas de nouveau calcul par l'utilisateur