javascript/jquery为什么taked字符串不能作为变量保存?

javascript/jquery为什么taked字符串不能作为变量保存?,javascript,jquery,codemirror,Javascript,Jquery,Codemirror,我尝试从元素中获取“name”属性,并使用该字符串调用已经存在的变量 这就是html(li是函数的目标):: atm仅当i“硬编码”如下所示的变量时,它才起作用: start_cursor = editor.getCursor() “编辑器”是这样预定义的(Codemirror): 我想通过从ul获取stringname来动态地实现它 感谢您的时间和智慧仅仅因为某个事物的名称相同,但名称并不代表它是同一事物。根据你的逻辑,我可以给某个文件命名,它就是这个文件 var mydoc = "docu

我尝试从元素中获取“name”属性,并使用该字符串调用已经存在的变量

这就是html(li是函数的目标)::

atm仅当i“硬编码”如下所示的变量时,它才起作用:

start_cursor = editor.getCursor()
“编辑器”是这样预定义的(Codemirror):

我想通过从ul获取stringname来动态地实现它


感谢您的时间和智慧

仅仅因为某个事物的名称相同,但名称并不代表它是同一事物。根据你的逻辑,我可以给某个文件命名,它就是这个文件

var mydoc = "document";
mydoc.location; //won't work because mydoc is just a string, it isn't the document object.

要从字符串切换到javascript中定义的内容,请尝试

objectTheVarIsDefinedIn[nameOfVariable]
在这种情况下,我不确定您使用了哪个对象/范围/函数,我猜一般范围是

window[messa].getCursor();
或者您使用了一个函数,但您仍然处于相同的级别:

this[messa].getCursor();

messa
在本例中是一个字符串。不能对字符串调用getCursor()

但是,在本例中,
editor
现在是窗口对象的属性,因此您可以执行以下操作:

window[messa].getCursor();

这不是重点。更像这样。我不使用document.body,而是从元素“document”中获取名称,将其保存在变量“habanot”中,并调用对象而不是habanot.body。但是
messa
是一个字符串
getCursor()
不是字符串的方法。所以你不能这样叫它。是的,但是字符串不能转换成变量吗?像一个变量?类似eval(“dynamic”+i+“=val[i]”之类的东西;也许你应该在你的问题中解释你想做什么(大局)。您当前尝试的内容没有意义。使用eval将字符串转换为变量是个坏主意。有更好的方法可以做到这一点。当您键入
typeof messa
messa===editor
时,您会得到什么<代码>消息是字符串,而不是对象。
window[messa].getCursor();
this[messa].getCursor();
window[messa].getCursor();