2017-07-19 81 views
0

我可以從用戶那裏得到輸入,我可以把它全部放入一個總和中,但它會回退NaN。我想用javascript創建一個計算器。

我的代碼:

var input1 = prompt("input 1","0"); 
var operation = prompt("operation","+"); 
var input2 = prompt("input 2","0"); 
var ans = (input1 + intput2); 

if (operation = "+") 
{ 
    document.write("input1 + intput 2 = " + ans); 
} 
else 
{ 
    document.write("Other operations coming soon!"); 
} 
+1

你在你的代碼輸入錯誤。沒有像'intput2'這樣的變量。另外,你在這裏賦值而不是比較:'operation =「+」'。 –

回答

1

有幾個在這個片段中的問題。

  1. 如果需要數學加法,則需要將input1 &轉換爲input2。 +這些變量是一元運算符前的符號
  2. intput2處有一個錯字。在我應該input2
  3. 在if條件下使用=====驗證。 operation = "+"只是將值

var input1 = prompt("input 1", "0"); 
 
var operation = prompt("operation", "+"); 
 
var input2 = prompt("input 2", "0"); 
 
var ans = (+input1 + +input2); 
 

 
if (operation == "+") { 
 
    document.write("input1 + intput 2 = " + ans); 
 
} else { 
 
    document.write("Other operations coming soon!"); 
 
}

+0

我覺得這是最完整的答案。值得一提的是,'unary +'用於將字符串轉換爲數字,如果沒有,則只是字符串連接。 –

0

提示會返回一個字符串,所以你需要將字符串轉換爲使用parseFloat()。而檢查input2的法術var ans數。

var input1 = prompt("input 1", "10"); 
 
var operation = prompt("operation", "+"); 
 
var input2 = prompt("input 2", "2"); 
 
var ans = parseFloat(input1) + parseFloat(input2); 
 

 
if (operation = "+") { 
 
    document.write("input1 + intput 2 = " + ans); 
 
} else { 
 
    document.write("Other operations coming soon!"); 
 
}