函数返回添加到变量

问题描述:

我有价格的物品函数返回添加到变量

数组
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

正如错误消息所示,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; 
} 

你有语法错误

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

的语法错误,你不能使用在Array的索引中使用return。

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

或者你可以使用:

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

假设你的钱变量已经被定义 ...