我如何使用Jquery变量变量

How do I use Jquery variable variables?

本文关键字:变量 Jquery 何使用      更新时间:2023-09-26

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

其中一个问题是:点击这里。

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

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.

变量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

有人知道我做错了什么吗?

应该使用数组。JavaScript中没有所谓的"可变变量"。

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

在您的情况下,您将使用questionValue = this["question" + i],但再一次:不要这样做。使用数组代替。

我不知道为什么你使用"question" + numberofquestions,这将是10每次