以下是某函数体的部分代码片段。执行会打印dat.body.res15,但是后面for循环不确定地执行a遍(a∈[0,15])。当且仅当a===15时,程序运行正常。怎么解决呢
var tmpMsgs = dat.body.res
var retMsgs = new Array()
console.log(‘dat.body.res’ + tmpMsgs.length)
for (var i = 0; i !== tmpMsgs.length; i++)
{
var ele = tmpMsgs[i]
if (ele.msg.indexOf("<a href=") !== -1 && ele.msg.indexOf("</a><br>") !== -1) {
console.log(‘continue’ + i)
continue
}
ele.url = self.info.kefuurl
ele.nodes = [{ name: ‘img’, children: [] }]
ele.type = ‘img’
if (ele.flag === ‘0’) {
ele.cls = ‘send’
ele.url = self.info.kehuurl
} else {
self.setImageURL(ele.kf_account, ele)
}
ele.flag = undefined
ele.kf_account = undefined
if (ele.msgtype === ‘image’) {
ele.nodes[0].attrs = {
src: app.globalData.downPrefix + ele.msg,
style: (self.data.iOSdevice ? ‘height: 256px; max-width: 100%;’ : ‘max-width: 100%;’)
}
} else if (ele.msgtype === ‘link’) {
self.parseURLMessage(JSON.parse(ele.msg), ele)
} else {
ele.nodes[0].name = ‘div’
self.parseTextMessage(ele.msg, ele)
}
ele.msgtype = undefined
ele.msg = undefined
var time = new Date()
if (ele.utime) {
time.setTime(parseInt(ele.utime) * 1000)
ele.utime = undefined
} else {
time.setFullYear(parseInt(ele.time.substring(0, 4)))
time.setMonth(parseInt(ele.time.substring(4, 6)) - 1)
time.setDate(parseInt(ele.time.substring(6, 8)))
time.setHours(parseInt(ele.time.substring(9, 11)))
time.setMinutes(parseInt(ele.time.substring(12, 14)))
time.setSeconds(parseInt(ele.time.substring(15, 17)))
}
ele.time = time.getFullYear() + ‘-’ + (time.getMonth() + 1) + ‘-’ + time.getDate() + ’ ’ + time.getHours() + ‘:’ + time.getMinutes()
ele.hideTime = time.getTime() + 60000 > self.info.agoTime
//ele.id = time.getTime()
self.info.agoTime = time.getTime()
retMsgs.unshift(ele)
console.log(‘for’ + i)
}
此图是a===0时的打印