js 定义的全局变量 在使用的时候报 undefined 错误 1C
alarmInputData = {};   //定义的全局变量

function alram_getCfgEx_success_callback(data)
{

    //alert("recv: "+ data);
    var msg = JSON.parse(data);
    alarmInputData = msg.result.args;
    var day = new Date();
    day = day.getUTCDay();
    setSelectedByValue("alramInput_date",day);  
    loadsetAlarmTimeVal(alarmInputData.inputs[0].timetable.timeSlice[day]);
}

在使用时用alert()可以显示出值,但是执行后面的字符串相加的会报 TypeError: alarmInputData.inputs[k] is undefined 的错误。

 alert(alarmInputData.inputs[k].timetable.timeSlice[i][j].startHour);//会打印出值
timeStr[j] = '"startHour":'+'"'+alarmInputData.inputs[k].timetable.timeSlice[i][j].startHour+'"';

2个回答

看看数组的数量是否满足k

barry_di
barry_di 不好意思,是越界了,谢谢!
4 年多之前 回复
barry_di
barry_di 不存在越界的问题
4 年多之前 回复
barry_di
barry_di input 有3个元素, k是从0~2
4 年多之前 回复

你下面2句是在alram_getCfgEx_success_callback里面的还是什么?看你代码alram_getCfgEx_success_callback是异步获取数据后的回调函数,如果你后续代码不在这个函数里面,会有问题,因为异步获取数据有个时间差,你直接使用数据不一定返回执行了alram_getCfgEx_success_callback进行变量的赋值

alert(alarmInputData.inputs[k].timetable.timeSlice[i][j].startHour);//会打印出值
timeStr[j] = '"startHour":'+'"'+alarmInputData.inputs[k].timetable.timeSlice[i][j].startHour+'"';

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐