如果变量中有名称,如何引用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()代码>应该可以正常工作。