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

时间:2016-07-05 22:27:52

标签: javascript type-conversion innerhtml

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

<script>
function start()
{
var name1 = "name";
var name2 = 3;
var name3 = "Text that I want to write";

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


}
</script>

<div id="here"></div>

<button onclick="start()">
Start
</button>

UPD:有一个tupo var name1 = "test",它应该是var test1 = "name"

2 个答案:

答案 0 :(得分:3)

尝试使用object

<script>
function start() {
  var names = {
    name1: "name",
    name2: "3",
    name3: "Text that I want to write"
  }

  document.getElementById('here').innerHTML = names[names.name1 + names.name2];
}
</script>

<div id="here"></div>
<button onclick="start()">start</button> 

答案 1 :(得分:1)

我假设你的意思是name1等于“name”而不是“text”。然后将它们放在一起,您将获得第三个变量,它保存您要打印的文本的值。在这种情况下,您可以使用javascript的eval()功能。

而不是

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

使用

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