我有以下
eval(id+' = new MyObject()');
我想访问生成的对象及其方法。我可以用
这样做myObject = eval(id);
myObject.myMethod();
但使用eval有什么优雅的选择?
答案 0 :(得分:2)
假设id
旨在成为全局对象,并且您正在浏览器中执行,
window[id] = new MyObject();
myObject = window[id];
myObject.myMethod();
或者您可以修改代码以将id
存储到对象中。
var objectStore = {};
objectStore[id] = new MyObject();
myObject = objectStore[id];
myObject.myMethod();