Javascript打印45条未定义的行
有人能帮我吗 脚本运行正常,但应完成时,仍会打印未定义的行: 我已经试着做了一些改变,但是没有成功。。。 我真的不知道Javascript打印45条未定义的行,javascript,undefined,Javascript,Undefined,有人能帮我吗 脚本运行正常,但应完成时,仍会打印未定义的行: 我已经试着做了一些改变,但是没有成功。。。 我真的不知道 var事件=[ [“血堡”、[“00:00”、“02:00”、“04:00”、“06:00”、“08:00”、“10:00”、“12:00”、“14:00”、“16:00”、“18:00”、“20:00”、“22:00”], [“混沌城堡”、[“01:00”、“03:00”、“05:00”、“07:00”、“09:00”、“11:00”、“13:00”、“15:00”、“17
var事件=[
[“血堡”、[“00:00”、“02:00”、“04:00”、“06:00”、“08:00”、“10:00”、“12:00”、“14:00”、“16:00”、“18:00”、“20:00”、“22:00”],
[“混沌城堡”、[“01:00”、“03:00”、“05:00”、“07:00”、“09:00”、“11:00”、“13:00”、“15:00”、“17:00”、“19:00”、“21:00”、“23:00”],
[“魔鬼广场”[“00:30”、“04:30”、“08:30”、“12:30”、“16:30”、“20:30”],
[“幻觉圣殿”[“01:30”、“05:30”、“09:30”、“13:30”、“17:30”、“21:30”],
[CryWolf],[4,7],[20:30],[20:30],
];
var boss=[
[“白巫师”、[“00:50”、“04:50”、“08:50”、“12:50”、“16:50”、“20:50”],
[《金色入侵》[“12:30”、“13:35”、“15:35”、“16:30”、“17:35”、“19:30”],
[“重生昆顿”[“16:00”],
];
var eventsTime=[
];
功能到秒(h、m、s){
返回h*3600+m*60+s;
}
函数日期UTC(偏移量){
var d=新日期();
var utc=d.getTime()+(d.getTimezoneOffset()*60000);
返回新日期(utc+(3600000*偏移量));
}
函数updateEventTime(eventsTime,divId){
var d=日期UTC('-2');
var time=toSeconds(d.getHours(),d.getMinutes(),d.getSeconds());
var html='';
对于(eventsTime中的var i){
var线=事件时间[i];
if(line.length==2&&typeof(line[1])==object){
var j;
对于(j=0;j时间){
打破
}
}
j=j%eventsTime[i][1]。长度;
var t=事件时间[i][1][j];
var diff=toSeconds(t[0],t[1],0)-时间;
如果(差异<0){
差值+=3600*24;
}
var h=parseInt(差异/3600);
差值-=3600*h;
var m=parseInt(差异/60);
var s=diff-m*60;
var倒计时=h+':'+(“0”+m).slice(-2)+':'+(“0”+s).slice(-2);
html+=';
}else if(line.length==3){
风险值周=[0,0,0,0,0,0,0,0];
var-weekH=[0,0,0,0,0,0,0];
对于(第[1]行中的j){
var t=第[2][j]行;
t=toSeconds(t[0],t[1],0);
周[行[1][j]-1]=t;
weekH[line[1][j]-1]=line[2][j];
}
var dd=d.getDay();
var合计=0;
而(1){
如果(周[dd]&((dd==d.getDay()&&week[dd]>time)| | dd!=d.getDay()){
变量w=['','','','','','','','','',''[dd];
如果(dd==d.getDay()){
w='';
}
变量差异=(日数*24*60*60+周[日数])-(d.getDay()*24*60*60+时间);
如果(差异<0){
差值+=7*24*60*60;
}
var天数=parseInt(差异/(24*60*60));
差异-=天数*(24*60*60);
var h=parseInt(差异/3600);
差值-=3600*h;
var m=parseInt(差异/60);
var s=diff-m*60;
如果(天){
计数=天数+d'+h+'h';
}否则{
变量计数=h+':'+(“0”+m).slice(-2)+':'+(“0”+s).slice(-2);
}
html+=';
打破
}
如果(总数+++>8){
html+=';
打破
}
dd=(dd+1)%7;
}
}否则{
html+=';
}
}
$('#'+divId).html(html);
}
setInterval(函数(){
updateEventsTime(事件,“c_事件”);
updateEventTime(boss,'c_boss');
}, 1000);代码>尝试确保该成员是有效的对象成员:
for (var i in eventsTime){
if(eventsTime.hasOwnProperty(i)) {
...
根据我的经验,这是看到意外迭代的最常见原因。您能帮我知道在哪里关闭它吗?if(eventsTime.hasOwnProperty(i)){//where-to-close?在for之后首先打开它,然后在关闭for循环之前关闭它。我是这样关闭的:for(eventsTime中的var i){if(eventsTime.hasOwnProperty(i)){var-line=eventsTime[i];}并且我收到了返回“狼来了”这是大量的代码,如果你能将问题隔离到一个较小的块中,你可能会得到更多的响应