私は電卓を作っています。ここでは、テキスト入力で記述します。コードをテストするために、私はちょうどランダムな数といくつかの "ifs"を作りました。 Here'sコード:JavaScriptで関数を呼び出すことはできません
var res=0, operator, pattern, num1, num2
myText= "2~3+2"
pattern= /([\+\-\*\~\V/])/;
var nums= myText.split(pattern);
function makeCount() {
num1= Number(num1);
num2= Number(num2);
if (operator=== "~") {
num1= Math.pow(num1,num2);
nums.splice(i-1, 3, num1);
}
if (operator=== "+") {
num1= num1+num2;
nums.splice(i-1, 3, num1);
}
}
function SrtLoop() { //checks all the numbers
for (var i=0; i<nums.length; i++) {
if (nums[i]=== "~") {
num1=nums[i-1];
num2=nums[i+1];
operator="~";
makeCount();
}
if (nums[i]=== "+") {
num1= nums[i-1];
num2= nums[i+1];
operator="+";
makeCount();
}
}
}
SrtLoop();
res=num1;
私は機能せず、ループのために置くが、プログラムが演算子を確認した後、私は、実現する前に、それが再びチェックしません。だから私は、関数の中にforループを置くと思った、私は一度それを呼び出すだろうとカウントをした後、再びforループ関数を呼び出すだろう。関数res = undefined(expected)を呼び出さずに、res = 10(expected)関数を呼び出すことなく、関数を呼び出すと、すべてのコードが破棄され、画面に何も表示されません。
注:私の英語が悪い
あなたは、デバッグしようとしたことがありますか? – ElGavilan
[JavaScriptのデバッグ方法](https://developers.google.com/web/tools/chrome-devtools/debug/) –
@Alex:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#(Bitwise_NOT)...しかしOPの問題にどのように関連しているのか分かりません。 –