Javascript 如何将随机数附加到字符串?
我试图在字符串中附加一个随机数,然后在innerHTML中将其作为变量名进行解析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;
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是的,而且在尝试使用正则字符串=)时也会造成巨大的困难。几乎任何东西都会触发引用错误。。。