javascript、jquery中存在未定义的变量问题。如何?
我使用Date.js来显示一些日期,然后发生了一件奇怪的事情。如果我在由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() {
每条
语句组成的数组中使用它
我的意思是:
如果我将事件数组
传递并使用到测试
函数数组,一切正常,但如果我使用事件数组
一个,看起来应该相同,我得到:
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
中充满了数组,每个数组中只有一个对象?你是不是真的想推这个对象?谢谢大家,这是解决方案,事实上所有答案都很好,但是资历岩石:)谢谢大家,这是解决方案,事实上所有答案都很好,但是资历岩石:)