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

时间:2017-10-21 13:05:49

标签: javascript innerhtml console.log

我实际上是在开发人员学校学习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中可见,抱歉评论是法语,因为我在学习法国所以教授也是法国人。

感谢那些试图帮助我的人:)

2 个答案:

答案 0 :(得分:0)

该文件的早期版本

        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

答案 1 :(得分: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