2016-07-28 12 views
1

Ich habe eine Reihe von Preisen für ProdukteFunktionen hinzufügen Zurück zur variablen

var st = [0, 1, 2, 0, 3, 0, 4, 0, 0, 0, 0, 0] 

dann herauszufinden, wie viel Geld bekommt der Spieler es diese Funktion läuft

function buy(a) { 
money += st[return a;] 
} 

sollte diese

machen
function buy(a) { 
money += st[1] 
} 

Die Taste gedrückt, um zu kaufen kaufen() mit so aussehen

<button onclick='buy(1)'>Sell</button> 

Wenn sie diese Taste drücken, sollte es 1 zurückkehren und deshalb fügen Sie $ 1 auf die Spieler-Konto, aber ich bin immer und Fehler

Unexpected keyword 'return' 

Wenn Sie weitere Informationen benötigen würde ich mich freuen, es zu liefern

fidde wenn Sie es brauchen

+0

Das ist nur vollständig ungültig JavaScript-Syntax ist. Was erwarten Sie von "kaufen"? –

+0

'a' hält Wert als' 1', was erwartest du mit 'return 1'? – Rayon

+0

@T.J.Crowder Ich schätze, es fügt einfach einen angemessenen Preis aus einer Reihe von Preisen zu "Geld" Variable, so sollte so einfach sein wie 'Geld + = st [a]' – VisioN

Antwort

2

Wie die Fehlermeldung sagt, return hat keinen Platz, wo Sie es haben. Sie haben eine Anweisung (return a;) in einem Eigenschaftenaccessor (st[...]) abgelegt. Das ist einfach nicht gültig.

Von der Art und Weise Sie verwenden buy, Sie möchten nicht return überhaupt:

function buy(a) { 
    money += st[a]; 
} 

Aber wenn man es wollte einen Wert zurückgeben, würden Sie return separat verwenden. (. Technisch return money += st[a]; würde auch zurückkehren den aktualisierten Wert von money, aber ich zeige sie separat zur Betonung und Klarheit)

function buy(a) { 
    money += st[a]; 
    return money; 
} 

: Zum Beispiel, wenn Sie den aktualisierten Wert von money zurückkehren wollte

Oder wenn man wollte a aus irgendeinem Grund zurück:

function buy(a) { 
    money += st[a]; 
    return a; 
} 
2

Sie haben Syntaxfehler

function buy(a) { 
return money += st[a]; 
} 
2

Die Syntax ist falsch, Sie kann nicht Rückgabe im Index von Array verwenden.

function buy(a) { 
money += st[a]; 
return money; 
} 

Oder können Sie:

function buy(a) { 
return (money += st[a]); 
} 

Unter der Annahme, dass Ihr Geld Variable bereits definiert ist ...