Javascript 如何使用innerHTML将文本转换为变量名以打印其值?

Javascript 如何使用innerHTML将文本转换为变量名以打印其值?,javascript,type-conversion,innerhtml,Javascript,Type Conversion,Innerhtml,我有一个将文本写入html文档的函数。此文本等于两个变量的值,结果等于第三个变量的名称。如何将最终文本转换为变量名以使函数打印其值 函数start() { var name1=“name”; 变量2=3; var name3=“我想写的文本”; document.getElementById('here').innerHTML=name1+name2; } 开始 尝试使用 函数start(){ 变量名称={ 名称1:“名称”, 名称2:“3”, 名称3:“我想写的文本” } documen

我有一个将文本写入html文档的函数。此文本等于两个变量的值,结果等于第三个变量的名称。如何将最终文本转换为变量名以使函数打印其值


函数start()
{
var name1=“name”;
变量2=3;
var name3=“我想写的文本”;
document.getElementById('here').innerHTML=name1+name2;
}
开始
尝试使用


函数start(){
变量名称={
名称1:“名称”,
名称2:“3”,
名称3:“我想写的文本”
}
document.getElementById('here').innerHTML=names[names.name1+names.name2];
}
开始
尝试使用


函数start(){
变量名称={
名称1:“名称”,
名称2:“3”,
名称3:“我想写的文本”
}
document.getElementById('here').innerHTML=names[names.name1+names.name2];
}
开始

我假设你的意思是让name1等于“name”而不是“text”。然后把它放在一起,你会得到第三个变量,它保存了你想要打印的文本的值。在这种情况下,可以使用javascript的
eval()
函数

而不是

document.getElementById('here').innerHTML = name1 + name2;
使用


我假设你的意思是让name1等于“name”而不是“text”。然后把它放在一起,你会得到第三个变量,它保存了你想要打印的文本的值。在这种情况下,可以使用javascript的
eval()
函数

而不是

document.getElementById('here').innerHTML = name1 + name2;
使用



你到底想干什么?我不明白你需要澄清你的要求。现在完全不清楚你希望在这里实现什么。到目前为止,您的代码似乎没有什么明显的错误,只是将name1+name2更改为name3?或者您正在尝试获取另一个名为text3的项目的内容,但此处未显示?困惑抱歉,您所说的“此文本等于两个变量的值,结果等于第三个变量的名称”是什么意思?什么是“结果”。如果您只想将两个字符串name1和name2添加到变量中,那么只需在设置innerHtml值之前将其分配给变量即可。例如,var value1=名称1+名称2;很抱歉,我把你弄糊涂了,下面的答案解决了我的问题,也许它会帮助你理解我的意思。有一个tupo:var name1=“test”。它应该是var test1=“name”您到底想做什么?我不明白你需要澄清你的要求。现在完全不清楚你希望在这里实现什么。到目前为止,您的代码似乎没有什么明显的错误,只是将name1+name2更改为name3?或者您正在尝试获取另一个名为text3的项目的内容,但此处未显示?困惑抱歉,您所说的“此文本等于两个变量的值,结果等于第三个变量的名称”是什么意思?什么是“结果”。如果您只想将两个字符串name1和name2添加到变量中,那么只需在设置innerHtml值之前将其分配给变量即可。例如,var value1=名称1+名称2;很抱歉,我把你弄糊涂了,下面的答案解决了我的问题,也许它会帮助你理解我的意思。有一个tupo:var name1=“test”。它应该是var test1=“name”什么?这没有意义,它可以工作!!!非常感谢你!假设
var name1=“text”
var name1=“name”的输入错误–这似乎是基于问题的情况。@RickHitchcock是的,对不起,我错了。什么?这没有意义,它可以工作!!!非常感谢你!假设
var name1=“text”
var name1=“name”的输入错误–这似乎是基于问题的情况。@RickHitchcock是的,对不起,我错了。谢谢,有一个打字错误。这种方法在我的情况下不起作用,也许我写错了什么?它输出什么?没什么,我添加了一个链接到前面的评论啊,那是因为你改变了独立行的声明。如果您保持问题中的结构,它就会工作。现在我明白了,非常感谢!谢谢,有个打字错误。这种方法在我的情况下不起作用,也许我写错了什么?它输出什么?没什么,我添加了一个链接到前面的评论啊,那是因为你改变了独立行的声明。如果您保持问题中的结构,它就会工作。现在我明白了,非常感谢!
document.getElementById('here').innerHTML = eval(name1 + name2);