2016-05-03 7 views
-1

Hallo Ich bin nur verwirrt darüber, wie man eine Variable auf diese Variable multipliziert mit sich selbst setzt. Nachdem ich viel im Internet nach verschiedenen Dingen gesucht habe, konnte ich es immer noch nicht zum Laufen bringen, obwohl es sich so anfühlt, als würde es funktionieren. Hier ist das Skript ...Multiplizieren von Variablen

var totalSmalls = (totalSmalls*smallPrice); 
var totalMediums = (totalMediums*mediumPrice); 
var totalLarges = (totalLarges*largePrice); 
var totalNumber = totalsmalls + totalMediums + totalLarges; 

die Variablen waren alle so weit wie ich sagen konnte. Ich werde auch das vollständige Programm befestigen ...

<!DOCTYPE html> 
 
<html> 
 
<title>PizzaLife</title> 
 
<script> 
 
\t 
 
var smallPrice = 3.50; 
 
var mediumPrice = 5.00; 
 
var largePrice = 9.99; 
 
var totalSmalls = 0; 
 
var totalMediums = 0; 
 
var totalLarges = 0; 
 
var totalNumber = 0; 
 

 
function calculateOrder()//calculate the number of smalls, larges and medium pizzas 
 
{ 
 
var pizza = new Array() 
 
var smallPizza = new Array() 
 
smallPizza[0] = Number(document.form.smallP.value) 
 
smallPizza[1] = Number(document.form.smallC.value) 
 
smallPizza[2] = Number(document.form.small4.value) 
 
smallPizza[3] = Number(document.form.smallT.value) 
 
smallPizza[4] = Number(document.form.smallM.value) 
 

 
var mediumPizza = new Array() 
 
mediumPizza[5] = Number(document.form.mediumP.value) 
 
mediumPizza[6] = Number(document.form.mediumC.value) 
 
mediumPizza[7] = Number(document.form.medium4.value) 
 
mediumPizza[8] = Number(document.form.mediumT.value) 
 
mediumPizza[9] = Number(document.form.mediumM.value) 
 

 
var largePizza = new Array() 
 
largePizza[10] = Number(document.form.largeP.value) 
 
largePizza[11] = Number(document.form.largeC.value) 
 
largePizza[12] = Number(document.form.large4.value) 
 
largePizza[13] = Number(document.form.largeT.value) 
 
largePizza[14] = Number(document.form.largeM.value) 
 

 
totalSmalls = smallPizza[0] + smallPizza[1] + smallPizza[2] + smallPizza[3] + smallPizza[4]; 
 
totalMediums = mediumPizza[5] + mediumPizza[6] + mediumPizza[7] + mediumPizza[8] + mediumPizza[9]; 
 
totalLarges = largePizza[10] + largePizza[11] + largePizza[12] + largePizza[13] + largePizza[14]; 
 

 
alert ("you have ordered " + totalSmalls + " Small pizzas " + totalMediums + " Mediums and " + totalLarges + " Larges."); 
 
var totalSmalls = (totalSmalls*smallPrice); 
 
var totalMediums = (totalMediums*mediumPrice); 
 
var totalLarges = (totalLarges*largePrice); 
 
var totalNumber = totalsmalls + totalMediums + totalLarges; 
 
alert ("Your order will cost a total of $" + totalNumber + "yaaz"); 
 
} 
 

 
function resetOrder() //to reset the page and order 
 
{ 
 
if (confirm ("Are you sure you want to reset the order?") == true) 
 
{ 
 
window.location.reload() 
 
} 
 
} 
 

 
</script> 
 
<body> 
 
<p><font face = "jokerman" size="10" color="DarkGreen"><b>PizzaLife NZ</b></font> 
 
<font face="jokerman" size="6" color="DarkGreen"><i> Online</i></font></p> 
 
\t 
 
<p><font face = "Arial Black" size = "2">Use the arrows to take your pick of our pizzas!</font><br> 
 

 
<i>note: max per order is 99 pizzas</i></p> 
 
<p>Large Pizza: $9.99 <br>Medium Pizza: $5.00 <br>Small Pizza: $3.50</p> 
 

 
<form name = "form"> 
 
<font face = "Arial Black" size = "2"> 
 
<font face = "Arial Black" size = "2" color = "red">Pepperoni Pizza: </font><br> 
 
Larges:<input type = "number" min = "0" max = "99" name = "largeP"> Mediums:<input type = "number" min = "0" max = "99" name = "mediumP"> smalls:<input type = "number" min = "0" max = "99" name = "smallP"><br> 
 
<font face = "Arial Black" size = "2" color = "red">Cheesy Pizza: </font><br> 
 
Larges:<input type = "number" min = "0" max = "99" name = "largeC"> Mediums:<input type = "number" min = "0" max = "99" name = "mediumC"> smalls:<input type = "number" min = "0" max = "99" name = "smallC"><br> 
 
<font face = "Arial Black" size = "2" color = "red">4Meats Pizza: </font><br> 
 
Larges:<input type = "number" min = "0" max = "99" name = "large4"> Mediums:<input type = "number" min = "0" max = "99" name = "medium4"> smalls:<input type = "number" min = "0" max = "99" name = "small4"><br> 
 
<font face = "Arial Black" size = "2" color = "red">TooHot Pizza: </font><br> 
 
Larges:<input type = "number" min = "0" max = "99" name = "largeT"> Mediums:<input type = "number" min = "0" max = "99" name = "mediumT"> smalls:<input type = "number" min = "0" max = "99" name = "smallT"><br> 
 
<font face = "Arial Black" size = "2" color = "red">minceNcheese Pizza: </font><br> 
 
Larges:<input type = "number" min = "0" max = "99" name = "largeM"> Mediums:<input type = "number" min = "0" max = "99" name = "mediumM"> smalls:<input type = "number" min = "0" max = "99" name = "smallM"><br> 
 
</font> 
 
</form> 
 

 
<p> 
 
---------------------&lsaquo;<input type = "button" value = "reset" onclick = "resetOrder()"><input type = "button" value = "Get Em!" onclick = "calculateOrder()">&rsaquo;------------------------ 
 
</p> 
 

 
</body> 
 
</html>

+1

* "wie man eine Variable auf diese Variable setzt, multipliziert mit ihr selbst" * - Ich kann nirgends in Ihrem Code sehen, wo Sie versuchen, eine Variable selbst zu multiplizieren. Aber 'x = x * x' oder' x * = x' ist alles was du brauchst. – nnnnnn

+0

Sie verwenden nur Var, um eine Variable zu deklarieren. Einmal deklariert nicht var. Multiplizieren mit sich selbst. Zuerst deklariere es 'var num = 100' dann kannst du' num * = num' wie num = num * num' kannst du das selbe mit + = - = \ = und ein paar mehr machen – Blindman67

Antwort

0

entfernen var aus dieser Zeile:

var totalSmalls = (totalSmalls*smallPrice); 

Und von den anderen ähnlichen Linien zu erhalten:

totalSmalls = (totalSmalls*smallPrice); 
totalMediums = (totalMediums*mediumPrice); 
totalLarges = (totalLarges*largePrice); 
totalNumber = totalSmalls + totalMediums + totalLarges; 

Sie versuchen, die gl zu aktualisieren obal-Variablen, die am Anfang des Skripts deklariert werden, aber mithilfe von var innerhalb Ihrer Funktion haben Sie lokale Variablen mit den gleichen Namen erstellt. Das ist kein Syntaxfehler, aber wenn Sie möchten, dass die Variablen global sind, würde der Code nicht wie vorgesehen funktionieren.

Was einen Laufzeitfehler verursachen würde, ist, dass Sie in der vierten Zeile ein kleines "s" in totalSmalls hatten.

+0

Ok vielen Dank Ich weiß, wie ich das nicht wusste: D –

0

Der Grund, warum Ihre zweite Warnung nicht ist nicht funktioniert, weil Sie einen Tippfehler in dieser Linie haben:

var totalNumber = totalsmalls + totalMediums + totalLarges; 

Es sollte totalSmalls

var totalNumber = totalSmalls + totalMediums + totalLarges; 

Und ja, Sie in Großbuchstaben sein müssen Entfernen Sie das var-Schlüsselwort aus jeder Größe. Sie deklarieren es neu und wenn der Browser Ihr Javascript liest, wird eine Variable durch eine neue ersetzt.

+0

Danke, Wie Sie wahrscheinlich sagen können, ich bin gerade beim Lernen von HTML, also mache ich haufenweise einfache Fehler und kann nicht herausfinden, wie man sie beheben kann: D –

+0

Kein Problem! Es hat einige Zeit gedauert, bis jeder gelernt hat! Vergessen Sie nicht, Ihre Frage als beantwortet und viel Glück zu markieren! – MaxKroshka

Verwandte Themen