如果变量中有名称,如何引用JavaScript对象?

如果变量中有名称,如何引用JavaScript对象?,javascript,Javascript,我在一个页面上有几个对象。。。我知道其中一个对象的名称,它存储在名为editorId的变量中。如何访问该对象的方法editorId.someFunction()不起作用,因为变量的值是对象的名称。如果引用页面上的HTML元素,可以使用: document.getElementById(editorId); 如果您引用的是JavaScript对象的名称,可以尝试eval(),这不是很有效: var obj = eval(editorId); // obj.someFunction() 如果您引

我在一个页面上有几个对象。。。我知道其中一个对象的名称,它存储在名为
editorId
的变量中。如何访问该对象的方法
editorId.someFunction()
不起作用,因为变量的值是对象的名称。

如果引用页面上的HTML元素,可以使用:

document.getElementById(editorId);
如果您引用的是JavaScript对象的名称,可以尝试
eval()
,这不是很有效:

var obj = eval(editorId);
// obj.someFunction()

如果您引用的是页面上的HTML元素,则可以使用:

document.getElementById(editorId);
如果您引用的是JavaScript对象的名称,可以尝试
eval()
,这不是很有效:

var obj = eval(editorId);
// obj.someFunction()

使用
document.getElementsByName(editorId)
。或者,如果您的名字实际上是一个ID,请使用
getElementById()


使用
document.getElementsByName(editorId)
。或者,如果您的名字实际上是一个ID,请使用
getElementById()


如果它是一个全局变量,您只需执行
var editor=window[editorID]

如果是本地的,您可以执行
var编辑器=(新函数('return'+editorID))()


然后你可以做
editor.blah()

如果它是一个全局变量,您只需执行
var editor=window[editorID]

如果是本地的,您可以执行
var编辑器=(新函数('return'+editorID))()


然后你可以做
editor.blah()

这是最好的解决方案,使用
window[editorID].someFunction()应该可以正常工作。这是最好的解决方案,使用
window[editorID].someFunction()应该可以正常工作。