2017-05-16 51 views
-1

我一直在搞這個代碼太久了,所以我想我會申請一些幫助... 這對我來說根本不起作用。有人知道我在這裏做錯了嗎? 任何意見讚賞。Javascript不會消防

<!DOCTYPE HTML> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<title>Bad Math (typeConv)</title> 
</head> 

<body> 
<h1>Doing bad math... will she run??</h1> 
<button type="button" onclick="addWrong()">addWrong</button> 
<button type="button" onclick="sayHi()">sayHi</button> 

<script>  
function addWrong() { 
    var x = prompt("X?"); 
    var y = prompt("Y?"); 

    var sum = x + y; 

    alert(x " + " y " = " + sum); 
    } // end addWrong 

function sayHi() { 
    alert("Hi"); 
} 
</script>  
</body> 
</html> 
+0

'警報(X 「+」 Y 「=」 +總和);壞語法 - 下次檢查你的開發者工具控制檯...應該是alert(x +「+」+ y +「=」+ sum);' –

回答

3

在「addWrong」函數內的「alert」調用中,您沒有正確地進行字符串連接。

加號周圍的變量去,串引號外:
alert(x + " + " + y + " = " + sum);

只是一個小組合的報價了。

+0

或者更確切地說'alert(x +'+ + y +'='+ sum)' –

0

你應該閱讀字符串插值(使用字符串內部的變量)。有兩個問題與您的代碼:

alert(x " + " y " = " + sum); 

x和y定義的變量,並沿着琴絃正在評估中,沒有任何類型說明你如何希望他們互動運營。這與輸入x「r」y「z」是一樣的,這也會出錯。你可以這樣寫:

alert(x + " + " + y + " = " + sum); 

但是,這是相當混亂的閱讀。請參閱下面的我的建議。

另一個問題是如何添加來自prompt(「X?」)和prompt(「Y?」)的輸入。

var x = prompt("X?"); 

無論用戶回答什麼,它都會被強制轉換爲字符串。當你將兩個字符串加在一起時,'+'運算符用於連接字符串,而不是將它們加在一起(作爲整數)。所以你需要將輸入轉換爲一個整數。有更好的方法來佔優勢的情況下,但最簡單的方法是調用parseInt函數()繞X軸和Y:

<!DOCTYPE HTML> 
 
<html lang="en"> 
 
<head> 
 
<meta charset="utf-8"> 
 
<title>Bad Math (typeConv)</title> 
 
</head> 
 

 
<body> 
 
<h1>Doing bad math... will she run??</h1> 
 
<button type="button" onclick="addWrong()">addWrong</button> 
 
<button type="button" onclick="sayHi()">sayHi</button> 
 

 
<script>  
 
function addWrong() { 
 
    var x = prompt("X?"); 
 
    var y = prompt("Y?"); 
 

 
    var sum = parseInt(x) + parseInt(y); 
 

 
    alert(`${x} + ${y} = ${sum}`); 
 
    } // end addWrong 
 

 
function sayHi() { 
 
    alert("Hi"); 
 
} 
 
</script>  
 
</body> 
 
</html>

+0

感謝您的快速,有益和深入的反應。 – HiSulu

+0

我開始睜大眼睛 – HiSulu