javascript、jquery中存在未定义的变量问题。如何?

javascript、jquery中存在未定义的变量问题。如何?,javascript,jquery,date,undefined,Javascript,Jquery,Date,Undefined,我使用Date.js来显示一些日期,然后发生了一件奇怪的事情。如果我在由每条语句组成的数组中使用它 我的意思是: 如果我将事件数组传递并使用到测试函数数组,一切正常,但如果我使用事件数组一个,看起来应该相同,我得到: startDate is undefined ...new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate()).getTime()... function getTest() {

我使用Date.js来显示一些日期,然后发生了一件奇怪的事情。如果我在由
每条
语句组成的数组中使用它

我的意思是:

如果我将
事件数组
传递并使用到
测试
函数数组,一切正常,但如果我使用
事件数组
一个,看起来应该相同,我得到:

startDate is undefined
...new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate()).getTime()...

function getTest() {
    $.ajax({
        type: "GET",
        url: "/index",
        dataType: "json",
        success: function (data) {

            var eventsArray = new Array();

            jQuery.each(data, function (i, val) {

                eventsArray.push(
                new Array({
                    startDate: new Date(2011, 07, 20, 15, 50),
                    endDate: new Date(2012, 00, 10),
                }));
            });

            var events_array = new Array({
                startDate: new Date(2011, 07, 20, 15, 50),
                endDate: new Date(2012, 00, 10),
            }, {
                startDate: new Date(2011, 07, 20, 15, 50),
                endDate: new Date(2012, 00, 10),
            });

          test(events_array);

        }
    });
}
有什么想法吗


感谢您在测试功能中尝试以下操作:

function test(eventsArray) {
  // try this

  eventsArray[0][0].startDate
}
eventsArray = [ 
                 [
                     {
                          startDate: ..
                          endDate: ..
                     }
                 ] 
              ];
eventsArray
如下所示:

function test(eventsArray) {
  // try this

  eventsArray[0][0].startDate
}
eventsArray = [ 
                 [
                     {
                          startDate: ..
                          endDate: ..
                     }
                 ] 
              ];
但你应该让它更容易:

var eventsArray = new Array();

    eventsArray.push({
     startDat: ..
     endDate: ..
    });
如果不需要,请不要在
eventsArray
中使用其他数组

要访问该值,请使用:

eventsArray[0].startDate;

eventsArra[0].endDate;

如果您查看
事件\u数组
,您会发现,当您在其中推送数据时,您没有使用额外的数组。在测试函数中,请尝试以下操作:

function test(eventsArray) {
  // try this

  eventsArray[0][0].startDate
}
eventsArray = [ 
                 [
                     {
                          startDate: ..
                          endDate: ..
                     }
                 ] 
              ];
eventsArray
如下所示:

function test(eventsArray) {
  // try this

  eventsArray[0][0].startDate
}
eventsArray = [ 
                 [
                     {
                          startDate: ..
                          endDate: ..
                     }
                 ] 
              ];
但你应该让它更容易:

var eventsArray = new Array();

    eventsArray.push({
     startDat: ..
     endDate: ..
    });
如果不需要,请不要在
eventsArray
中使用其他数组

要访问该值,请使用:

eventsArray[0].startDate;

eventsArra[0].endDate;

如果您查看
events\u数组
,您会发现,当您在其中推送数据时,您没有使用额外的数组。您可能想用对象填充
eventArray
,而不是每个数组中都有一个对象的数组:

eventsArray.push({ // NOT new Array...
    startDate: new Date(2011, 07, 20, 15, 50),
    endDate: new Date(2012, 00, 10)
}); });

您可能想用对象填充
eventArray
,而不是每个数组中都有一个对象的数组:

eventsArray.push({ // NOT new Array...
    startDate: new Date(2011, 07, 20, 15, 50),
    endDate: new Date(2012, 00, 10)
}); });

您的两个数组不相同: var eventsArray=新数组()

我认为你应该使用:

eventsArray.push({
    startDate: new Date(2011, 07, 20, 15, 50),
    endDate: new Date(2012, 00, 10)
}); });

希望这有帮助

您的两个阵列不相同: var eventsArray=新数组()

我认为你应该使用:

eventsArray.push({
    startDate: new Date(2011, 07, 20, 15, 50),
    endDate: new Date(2012, 00, 10)
}); });

希望这有助于什么
test()
功能?我在任何地方都看不到这样的定义……为什么
eventsArray
中充满了数组,每个数组中只有一个对象?你真的打算只推对象吗?什么
test()
函数?我在任何地方都看不到这样的定义……为什么
eventsArray
中充满了数组,每个数组中只有一个对象?你是不是真的想推这个对象?谢谢大家,这是解决方案,事实上所有答案都很好,但是资历岩石:)谢谢大家,这是解决方案,事实上所有答案都很好,但是资历岩石:)