var Number1 = 0
var Number2 = 0
var ZeroVAR = "0"
var OneVAR = "1"
var TwoVAR = "2"
var ThreeVAR = "3"
var FourVAR = "4"
var FiveVAR = "5"
var SixVAR = "6"
var SevenVAR = "7"
var EightVAR = "8"
var NineVAR = "9"
var EquationN1 = 0
var EquationN2 = 0
var AddVAR = false
var SubtractVAR = false
var MultiplyVAR = false
var DiviseVAR = false
var Output = false
function Zero() {
Number1 = Number1 + ZeroVAR;
}
function One() {
Number1 = Number1 + OneVAR;
}
function Two() {
Number1 = Number1 + TwoVAR;
}
function Three() {
Number1 = Number1 + ThreeVAR;
}
function Four() {
Number1 = Number1 + FourVAR;
}
function Five() {
Number1 = Number1 + FiveVAR;
}
function Six() {
Number1 = Number1 + SixVAR;
}
function Seven() {
Number1 = Number1 + SevenVAR;
}
function Eight() {
Number1 = Number1 + EightVAR;
}
function Nine() {
Number1 = Number1 + NineVAR;
}
function Ok1() {
SetNumber1();
}
function SetNumber1() {
EquationN1 = Number1;
console.log(Number1)
}
function Add() {
AddVAR = true
}
function Subtract() {
SubtractVAR = true
}
function Multiply() {
MultiplyVAR = true
}
function Divise() {
DiviseVAR = true
}
function Zero2() {
Number2 = Number2 + ZeroVAR;
}
function One2() {
Number2 = Number2 + OneVAR;
}
function Two2() {
Number2 = Number2 + TwoVAR;
}
function Three2() {
Number2 = Number2 + ThreeVAR;
}
function Four2() {
Number2 = Number2 + FourVAR;
}
function Five2() {
Number2 = Number2 + FiveVAR;
}
function Six2() {
Number2 = Number2 + SixVAR;
}
function Seven2() {
Number2 = Number2 + SevenVAR;
}
function Eight2() {
Number2 = Number2 + EightVAR;
}
function Nine2() {
Number2 = Number2 + NineVAR;
}
function Ok2() {
SetNumber2();
}
function SetNumber2() {
EquationN2 = Number2;
console.log(Number2);
InitiateCalculation();
}
function InitiateCalculation() {
if (AddVAR = true) {
Output = parseInt(EquationN1) + parseInt(EquationN2);
console.log(Output);
}
if (SubtractVAR = true) {
Output = EquationN1 - EquationN2;
console.log(Output);
}
if (MultiplyVAR = true) {
Output = EquationN1 * EquationN2;
console.log(Output);
}
if (DiviseVAR = true) {
Output = EquationN1 / EquationN2;
console.log(Output);
}
}
<!DOCTYPE html>
<html>
<head>
<div id="Zero"><button onclick="Zero()">0</button></div>
<div id="One"><button onclick="One()">1</button></div>
<div id="Two"><button onclick="Two()">2</button></div>
<div id="Three"><button onclick="Three()">3</button></div>
<div id="Four"><button onclick="Four()">4</button></div>
<div id="Five"><button onclick="Five()">5</button></div>
<div id="Six"><button onclick="Six()">6</button></div>
<div id="Seven"><button onclick="Seven()">7</button></div>
<div id="Eight"><button onclick="Eight()">8</button></div>
<div id="Nine"><button onclick="Nine()">9</button></div>
<div id="Ok1"><button onclick="Ok1()">OK</button></div>
<div id="Add"><button onclick="Add()">+</button></div>
<div id="Subtract"><button onclick="Subtract()">-</button></div>
<div id="Multiply"><button onclick="Multiply()">x</button></div>
<div id="Divise"><button onclick="Divise()">÷</button></div>
<div id="Zero2"><button onclick="Zero2()">0</button></div>
<div id="One2"><button onclick="One2()">1</button></div>
<div id="Two2"><button onclick="Two2()">2</button></div>
<div id="Three2"><button onclick="Three2()">3</button></div>
<div id="Four2"><button onclick="Four2()">4</button></div>
<div id="Five2"><button onclick="Five2()">5</button></div>
<div id="Six2"><button onclick="Six2()">6</button></div>
<div id="Seven2"><button onclick="Seven2()">7</button></div>
<div id="Eight2"><button onclick="Eight2()">8</button></div>
<div id="Nine2"><button onclick="Nine2()">9</button></div>
<div id="Ok2"><button onclick="Ok2()">OK</button></div>
</head>
</html>
我的创作是一个基本计算器。然而每当SetNumber2
函数经过(启动 InitiateCalculation()
函数的函数),所有变量 AddVAR
, SubtractVAR
, MultiplyVAR
和DiviseVAR
被设置为 true,即使其中的 if 语句应该使之前应用的条件(按钮按下更改为 true)没有改变。就好像它们完全没有意义,因为在代码末尾所有值都设置为 true。
最佳答案
您在 if
语句中将每个变量设置为 true
。您需要使用 ===
来检查相等性,而不是使用 =
(赋值运算符)。
if (AddVAR === true) {
Output = parseInt(EquationN1) + parseInt(EquationN2);
console.log(Output);
}
您需要对每个 if
语句执行此操作。
您可以使用==
而不是===
,但这通常不受欢迎,因为它不类型敏感。
关于javascript - bool 变量看似毫无理由地变为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51599335/