Javascript 如何将随机数附加到字符串?

Javascript 如何将随机数附加到字符串?,javascript,jquery,Javascript,Jquery,我试图在字符串中附加一个随机数,然后在innerHTML中将其作为变量名进行解析 var a = Math.floor((Math.random() * 3) + 1); var description1 = "This is description 1"; var description2 = "This is description 2"; var description3 = "This is description 3"; var desc = "description" + a;

我试图在字符串中附加一个随机数,然后在innerHTML中将其作为变量名进行解析

var a = Math.floor((Math.random() * 3) + 1);

var description1 = "This is description 1";
var description2 = "This is description 2";
var description3 = "This is description 3";

var desc = "description" + a;
var div = document.getElementById('result');
div.innerHTML += desc;

我得到返回,例如,“description1”,但不是“thisisdescription1”。如何解决这个问题?

您不能在这样的变量名后面附加一个整数。相反,您应该使用数组来实现这一点

var a=Math.floor((Math.random()*3));
变量描述=数组(3);
描述[0]=“这是描述1”;
描述[1]=“这是描述2”;
描述[2]=“这是描述3”;
var desc=说明[a];
var div=document.getElementById('result');
div.innerHTML+=desc

您可以使用括号表示法按名称引用变量

var a=Math.floor((Math.random()*3)+1);
var description1=“这是描述1”;
var description2=“这是描述2”;
var description3=“这是描述3”;
var desc=“description”+a;
var div=document.getElementById('result');
div.innerHTML+=窗口[desc]

字符串不会自动转换为变量。使用数组而不是“索引变量”。这不是说明1,因为您将
desc
附加到
div
innerHTML
,而您的
desc
变量是
“description”+a
,所以我看不出有什么问题?您没有在任何地方使用
var description1
吗?@filipbarak OP希望
desc
的值
description1
引用
description1
变量。如果JavaScript的行为是这样的,岂不是很有趣?在命名变量和functions@Yule是的,而且在尝试使用正则字符串=)时也会造成巨大的困难。几乎任何东西都会触发引用错误。。。