私のJS電卓は、操作が何であっても0の出力を与え続けます。私はコンソールを何度もチェックしましたが、エラーはありません。私の変数が関数であるかどうかを確認しましたが、何もありません。変数のいずれかが相互参照しているかどうかはわかりません。私はJavaScriptが初めてです。私のJavaScriptの計算機では、出力が0になるのはなぜですか?
マイ電卓:
var firstNo = 0;
var secondNo = 0;
var currentNo = 0;
var addedNo = 0;
function updateDisplay(nos) {
var screenn = document.getElementById('display');
var scdata = document.getElementById('display').innerHTML;
String(nos);
String(scdata);
screenn.innerHTML = scdata + nos;
if (currentNo==0) {
addedNo = String(firstNo);
addedNo = addedNo + nos;
firstNo = Number(addedNo);
}if (currentNo==1) {
addedNo = String(secondNo);
addedNo = addedNo + nos;
secondNo = Number(addedNo);
} \t
}
function clearScreen() {
\t
document.getElementById('display').innerHTML = "";
firstNo = 0;
secondNo = 0;
currentNo = 0;
\t
}
function setOperator(opo) {
\t
var operator = opo;
currentNo = currentNo + 1; \t
document.getElementById('display').innerHTML = "";
\t
}
function calculate() {
\t
if (operator="+") {
\t
document.getElementById('display').innerHTML = firstNo + secondNo;
firstNo = 0;
secondNo = 0;
currentNo = 0; \t
\t
}if (operator="*") {
\t
document.getElementById('display').innerHTML = firstNo * secondNo; \t
firstNo = 0;
secondNo = 0;
currentNo = 0;
\t
}if (operator="/") {
\t
document.getElementById('display').innerHTML = firstNo/secondNo; \t
firstNo = 0;
secondNo = 0;
currentNo = 0;
\t
}if (operator="-") {
\t
document.getElementById('display').innerHTML = firstNo - secondNo; \t
firstNo = 0;
secondNo = 0;
currentNo = 0;
\t
}
\t
\t
}
#keypad {
display: table;
}
.row {
display: table-row;
}
#display {
background-color: yellow;
}
<body>
<h1 id='display'></h1>
<div id='keypad'>
<div class='row'>
<button onclick='updateDisplay(1)'>1</button>
<button onclick='updateDisplay(2)'>2</button>
<button onclick='updateDisplay(3)'>3</button>
<button onclick='setOperator("+")'>+</button>
</div>
<div class='row'>
<button onclick='updateDisplay(4)'>4</button>
<button onclick='updateDisplay(5)'>5</button>
<button onclick='updateDisplay(6)'>6</button>
<button onclick='setOperator("-")'>-</button>
</div>
<div class='row'>
<button onclick='updateDisplay(7)'>7</button>
<button onclick='updateDisplay(8)'>8</button>
<button onclick='updateDisplay(9)'>9</button>
<button onclick='setOperator("/")'>/</button>
</div>
<div class='row'>
<button onclick='updateDisplay(".")'>.</button>
<button onclick='updateDisplay(0)'>0</button>
<button onclick='clearScreen()'>X</button>
<button onclick='setOperator("*")'>*</button>
</div>
<div class='row'>
<button onclick='calculate()'>=</button>
</div>
</div>
</body>
これで任意の助けいただければ幸いです。
あなたはどう思いますかなど、いくつかの構文エラーを明らかにすべきである '文字列(NOS);'しているのですか?名前は 'Number(firstNo)'のために入りますか?このタイプの鋳造はうまくいくが、奉仕やその他の使用がなければ、それは無効になる。 –
他のいくつかのヒント '='は代入演算子で、 'if'節であっても値を比較しません。厳密な比較のために '=='またはより良い '==='が必要です。割り当てられた値のいわゆる[truthy](https://developer.mozilla.org/en-US/docs/Glossary/Truthy)値の句の結果が返されます。 –
まだ動作していません:( –