2016-07-28 89 views
1

我有價格的物品函數返回添加到變量

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

然後,爲了弄清楚球員多少錢得到它運行該功能

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

這應該使

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

按下此按鈕以運行buy()看起來像這樣

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

當他們按下這個按鈕,它應該返回1,因此加$ 1到玩家賬號,但是我正在和錯誤

Unexpected keyword 'return' 

如果您需要任何更多的信息,我會很樂意提供

fidde如果你需要它

+0

這只是完全無效的JavaScript語法。你期望'buy'做什麼? –

+0

'a'值爲'1',你期待'return 1'的結果是什麼? – Rayon

+0

@ T.J。Crowder我想這只是將一系列價格的適當價格加到'money'變量中,所以應該像'money + = st [a]'一樣簡單' – VisioN

回答

2

正如錯誤消息所示,return沒有放置它的位置。您已將陳述return a;)放入屬性訪問器(st[...])中。這只是無效的。

從你使用buy的方式,你不想return都:

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

但是,如果你是希望它返回一個值,你會分開使用return。舉例來說,如果你想返回的money更新值:(。從技術上講,return money += st[a];也會返回money更新的價值,但我分別向他們展示了強調和清晰度)

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

或者,如果你想返回a因爲某些原因:

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

你有語法錯誤

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

的語法錯誤,你不能使用在Array的索引中使用return。

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

或者你可以使用:

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

假設你的錢變量已經被定義 ...