函数返回添加到变量

时间:2016-07-28 10:33:56

标签: javascript

我有一系列商品价格

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如果你需要它

3 个答案:

答案 0 :(得分:2)

您有语法错误

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

答案 1 :(得分:2)

正如错误消息所示,return没有放置它的位置。您已将语句return a;)放在属性访问器(st[...])中。那是无效的。

从您使用buy的方式来看,您根本不需要return

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

但是如果你确实希望它返回一个值,你可以单独使用return。例如,如果您想返回money的更新值:

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

(从技术上讲,return money += st[a];也会返回money的更新值,但为了强调和清晰,我会单独展示它们。)

或者,如果您出于某种原因想要返回a

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

答案 2 :(得分:2)

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

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

或者您可以使用:

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

假设您的货币变量已定义 ...