JavaScript提示/快讯问题

问题描述:

这是非常基本的...JavaScript提示/快讯问题

我被困在做什么,虽然。

alert("The capital of " + n + " is " + capitals.n); 

警报中的capitals.n出现为未定义。我能做些什么来解决这个问题?

+0

的可能重复(http://stackoverflow.com/questions/4255472/ javascript-object-access-variable-property-name)和[Dynamic object property name](http://stackoverflow.com/questions/4244896/dynamic-object-property-name)。 –

使用方括号:

alert("The capital of " + n + " is " + capitals[n]); 

你现在有什么会寻找的capitals与标识符n,不存在的属性。相反,您希望使用n作为标识符。

+0

@FelixKling - 已经有!我发现OP通常首先回答(看起来如此简单而快速),而不是找到与欺骗相关的链接通常对OP更有帮助。 –

+0

海事组织它鼓励尽管提问而不先搜索。好吧,OP有时候不知道要搜索什么,但即使如此,它仍然留下这样的印象:简单地问问比搜索更容易,但事实并非如此。它也会产生噪音(不必要的类似问题)。我理解你的观点,我认为没有必要复制内容,并且我认为从长远来看,这对网站来说并不好。但那不是评论的讨论...... –

使用方括号而不是点符号:

alert("The capital of " + n + " is " + capitals[n]);

说明:

  • capitals.n查找属性字面名为 'N'。
  • capitals[n]寻找以变量n的值作为名称的属性。

(通过给capitals.n值在你的代码,比如验证:capitals.n = 'FOO')?JavaScript对象,访问变量属性名称]