2017-12-18 18 views
2

以下のコードでは、表示される「結果」は2 * 0としてゼロになります。ただし、「number2」に2を加算するボタンがあります。それをクリックすると、「結果」は2 * 0ではなく2 * 2になるはずです。私の問題は、それがゼロとして表示されてしまうことです。変数の乗算は表示されません

let number1 = 2; 
 
let number2 = 0; 
 

 
const add2 =() => { 
 
    number2 += 2; 
 
    display(); 
 
}; 
 

 
let result = number1 * number2; 
 

 
const display =() => { 
 
    document.getElementById("result").innerText = result; 
 
}; 
 

 
display();
<p><span id="result"></span></p> 
 

 
<button onclick="add2();">click me</button>

+0

さてあなたは、乗算が..... '結果=数値1の*のnumber2のを聞かせて再実行しないでください;'魔法のように実行されません。 、それは一度やりました.... – epascarello

答えて

0

あなたはいつもが成立する結果をresult変数グローバルを宣言する必要があります。

let number1 = 2; 
 
let number2 = 0; 
 
let result; 
 
const add2 =() => { 
 
     number2 += 2; 
 
     result = number1 * number2; 
 
     display(); 
 
}; 
 

 
result = number1 * number2; 
 
const display =() => { 
 
     document.getElementById("result").innerText = result; 
 
}; 
 

 
display();
<p><span id="result"></span></p> 
 
<button onclick="add2();">click me</button>

0

あなたは、グローバル結果変数を宣言して、あなたはそれをあなたがボタンをクリックするたびに計算することを確認する必要があります。私はこれを行うための計算と呼ばれる関数を作成しました下:

<html> 
 

 
<body> 
 
    <p><span id="result"></span></p> 
 

 
    <button onclick="add2();">click me</button> 
 
    <script> 
 

 

 
    let number1 = 2; 
 
    let number2 = 0; 
 
    let result; 
 

 
    const add2 =() => { 
 
     number2 += 2; 
 
     result = calculate(); 
 
     display(); 
 
    }; 
 
    
 
    const calculate =() => { 
 
     return number1 * number2; 
 
    }; 
 

 
    const display =() => { 
 
     document.getElementById("result").innerText = result; 
 
    }; 
 
    result = calculate(); 
 
    display(); 
 

 
    </script> 
 

 
</body>

関連する問題