2013-02-23 79 views
0

为什么这个JavaScript变量问题

http://jsfiddle.net/BkGxq/1/

回报 “$未定义”?

,如果我不这样做

level_prices['f'.i] = i; 

,做

level_prices[i] = i; 

它的工作原理,(我也改变它在HTML中值= “3” 而不是价值= “F3”

但我需要访问它作为F3而不是3,为什么它不起作用?

回答

0

在JavaScript中,你连接字符串与的改为.

尝试:

level_prices['f'+i] = i; 

编辑:更新你的jsfiddle:http://jsfiddle.net/BkGxq/2/

+0

Tyvm,对不起,愚蠢的问题 – 2013-02-23 23:35:08

2

的点是不string concatenation运营商,但property accessor。你想

level_prices['f'+i] = i; 

'f'.i得到的字符串对象,它是undefined的文字“我”的属性。

+0

Tyvm,对于愚蠢的问题抱歉 – 2013-02-23 23:13:53