我如何使用Jquery变量变量?

时间:2014-07-10 17:04:06

标签: javascript jquery

我知道有很多关于是否可以在jQuery中使用变量的问题。

其中一个问题是:click here

我尝试使用答案,但我不知道如何在我的情况下使用它。

var numberofquestions = 10;   
var dataString = "";
for ( var i=1; i<=numberofquestions; i++ ) {
        /* ------ first  part ------- */
        if (i==1) {
            dataString = dataString + "q1=" + question1 + "&";
        } /* ------ end first part ------- */
        else if (i == numberofquestions) {
            questionValue = "question" + numberofquestions;
            qValue = "q" + numberofquestions;
            dataString = dataString + qValue + "=" + questionValue;
            console.log(dataString);
        } else {
            questionValue = question + i;
            dataString = dataString + "q" + i + "=" + questionValue +  "&";

        }
    }

循环将运行10次,每次需要将一部分添加到现有的dataString中。

它需要做的是创建这个字符串:

q1=(value of var question1)&q2=(value of var question2) and so forth.

vars question1, question2, ... question10都有一个数字。

第一部分工作,它在控制台日志中输出q1 = 5,然后,在一个随机字符串后。输出字符串(总字符串)如下所示:

q1=5&q2=NaN&q3=NaN&q4=NaN&q5=NaN&q6=NaN&q7=NaN&q8=NaN&q9=NaN&q10=question10

有人知道我做错了吗?

1 个答案:

答案 0 :(得分:3)

你应该使用一个数组。没有&#34;变量变量&#34;在JavaScript中。

您可以使用this[variableName]通过包含变量名称的字符串访问变量,但同样,您不应该这样做。你应该使用一个数组。

在您的情况下,您将使用questionValue = this["question" + i],但再次使用不要。改为使用数组。

我不确定您为什么每次都使用"question" + numberofquestions 10