用字符串名称访问对象的eval的替代方法?

时间:2011-05-11 17:56:54

标签: javascript eval

我有以下

eval(id+' = new MyObject()');

我想访问生成的对象及其方法。我可以用

这样做
myObject = eval(id);
myObject.myMethod();

但使用eval有什么优雅的选择?

1 个答案:

答案 0 :(得分:2)

假设id旨在成为全局对象,并且您正在浏览器中执行,

window[id] = new MyObject();
myObject = window[id];
myObject.myMethod();

或者您可以修改代码以将id存储到对象中。

var objectStore = {};

objectStore[id] = new MyObject();
myObject = objectStore[id];
myObject.myMethod();
相关问题