将变量组合起来等于现有变量

时间:2014-12-13 17:45:22

标签: javascript

我试图在Javascript中用适当的日期填充表格,并且想知道这是否有效。我不想要一个jQuery插件的链接,因为我的桌子是我喜欢的,并希望继续使用它。我只是想知道我的逻辑是否准确。这只是一个示例,而不是实际的代码段。

使用Javascript:

var d1 = day1;
// .
// .
// .
var d42 = lastDay;
var i = 1;

//The question then is: Does 
// d.i = d1 ? and can I use a for loop like this d.i++ to populate up to 42?

请记住,我不想要一个jQuery插件,我花了很长时间来创建我喜欢的日历,并且不想重新开始并试图满足我的需求

2 个答案:

答案 0 :(得分:0)

简答:否。

答案很长:您将对象表示法与变量名称混淆。 d1d[1]d.i不同。 d.i表示i的属性d;不是d的属性与i的值匹配。例如:

var i = 1,
    d = {
            1 : "foo",
            i : 42
        };
alert(d.i); // 42

所以,你的问题的答案是否定的,它们不一样。

可以eval使用eval('d' + i),但 必须 清理并验证数据在你做之前。

答案 1 :(得分:0)

相反,如果你有

var days = {
   d1: day1,
   d2: day2,
   .
   .
   d42: lasDay
};

然后你绝对可以做到

var i;
for (i = 1; i <= 42; i++) {
    console.log(days["d" + i]);
}

和循环。