2014-12-13 56 views
0

我想用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插件中,我花了永远创建日历合我的胃口,不希望有重新开始,并尝试以适应插入我的需要。

回答

0

简短的回答:没有。

龙答:你混淆变量名的对象符号。 d1d[1]d.i不一样。而d.i表示d的财产i;而不是di的值相匹配的财产。例如:

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

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

可能使用eval这里,在eval('d' + i),但必须你sanitize方法,你这样做之前验证数据。

0

相反,如果你能有

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

那么你绝对可以做

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

和循环。

+0

我很喜欢这个,并且似乎是最接近我想要的。我可以不使用“console.log”并将其替换为其他任何内容吗?由于d(i)将被替换为一个月的数值。 – RCCRF 2014-12-22 23:30:26

+0

是的,您可以访问'days [“d”+ i]',并随它做任何你想做的事情。 – 2014-12-23 06:31:40