【问题标题】:`If` having some issues`如果`有一些问题
【发布时间】:2022-06-13 12:31:13
【问题描述】:

else if 语句无法正常工作...我尝试使用三个 = 而不是 1 = 符号,但这只会破坏代码...但是如果我喜欢将 += 更改为 "/=` 除法运算已应用..我的代码有问题吗..

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Calculator!</title>
    <link rel="stylesheet" href="./calc.css">
</head>
<body>
    <div class="calculator">
        <section class="screen">
            0
        </section>
        <section class="calc-row">
            <button class="double calc-buttons">C</button>
            <button class="calc-buttons">←</button>
            <button class="calc-buttons">+</button>
        </section>
        <section class="calc-row">
            <button class="calc-buttons">7</button>
            <button class="calc-buttons">8</button>
            <button class="calc-buttons">9</button>
            <button class="calc-buttons">-</button>
        </section>
        <section class="calc-row">
            <button class="calc-buttons">4</button>
            <button class="calc-buttons">5</button>
            <button class="calc-buttons">6</button>
            <button class="calc-buttons">x</button>
        </section>
        <section class="calc-row">
            <button class="calc-buttons">1</button>
            <button class="calc-buttons">2</button>
            <button class="calc-buttons">3</button>
            <button class="calc-buttons">÷</button>
        </section>
        <section class="calc-row">
            <button class="triple calc-buttons">0</button>
            <button class="calc-buttons">=</button>
        </section>
    </div>    
</body>
<script src="./calc.js"></script>
</html>

JavaScript

let buffer = "";
const screen = document.querySelector(`.screen`);
let runningOperator = null;

document.querySelector(".calculator").addEventListener("click", function(event){
    buttonClick(event.target.innerText);
    console.log(event.target.innerText);
});

function buttonClick(value) {
    if (isNaN(parseInt(value))) {
        symbolhandle(value);
    } else {
        numberhandle(value);
    }
}

function numberhandle(value){
    if (buffer === 0) {
        buffer = value ;
    } else {
        buffer += value;
    }
    console.log("here");
    renderOutput();
}

function renderOutput() {
 screen.innerText = buffer;
}

function symbolhandle(value){
switch (value) {
    case 'C':
    buffer = 0;
    runningTotal = 0 ;
    break;
 case '←':
 if(buffer.length === 1){
     buffer = 0;
 } else {
 buffer = buffer.substring(0,buffer.length - 1) ;
 }break;
    case '=':
       if(runningOperator= null){
        return;
       }else{
           doOperations(parseInt(buffer));
           buffer = runningTotal;
           console.log(runningOperator);
        runningOperator = null;
        runningTotal= 0 ;
        break;
       }
       break;
       default:
       handleMath(value);
       buffer = 0;
       break;
        
} renderOutput();
}
let Intbuffer = parseInt(buffer);

function handleMath(value) {
    let Intbuffer = parseInt(buffer);
    if(runningTotal === 0) {
        runningTotal = Intbuffer;
    } else {
        doOperations (Intbuffer); }
       
        runningOperator = value ;
        buffer = "0";
 renderOutput();
}

// This function is where I think the  problem is 
function doOperations(value) {
    if (runningOperator = "+"){
    runningTotal += value ;
    } else if (runningOperator = "-"){
        runningTotal -= value ;
    } else if (runningOperator = "x"){
        runningTotal *= value ;
    } else if(runningOperator = "÷"){
        runningTotal /= value ;
    }   
}

【问题讨论】:

  • 嗯,单人= 肯定是错的,不问任何问题。

标签: javascript if-statement


猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-13
  • 2012-05-18
  • 1970-01-01
  • 1970-01-01
  • 2012-10-04
相关资源
最近更新 更多