Javascript - 当标识符字符串存储在var中时访问对象成员

jos*_*shs 6 javascript

我有一个非常简单的问题(和试探性的答案),我只是想看看是否有更好的答案.

当成员标识符存储在另一个变量中时,如何在javascript中访问对象成员?例:

state = 'sync';

messages = {
  'sync': 'asdf',
  'ready': 'asdf',
  'complete': 'asdf'
};
Run Code Online (Sandbox Code Playgroud)

可能性:1.消息= eval('messages.' + state);

  1. 将消息转换为哈希(在原型或jquery中 - 不确定jquery)并通过框架的方法进行访问

还有其他什么方法?更清洁吗?在php中它会很简单$message = $messages->$sync.

我确信这个问题已被多次回答,但很难找到......当我搜索"变量变量"时,我得到的只是eval响应

谢谢

Rex*_*x M 9

var message = messages[state];
Run Code Online (Sandbox Code Playgroud)

JavaScript中的每个对象不仅是更常见的对象,而且还是由其成员填充的字典.