我有以下代码JavaScript的真正奇怪的行为
if (msg.position == 0)
//removed for brevity
else if (msg.position == txtArea.value.length)
//removed for brevity
else {
//ERROR: should not reach here.
errorDivTag.innerHTML += msg.position + " " + txtArea.value.length;
}
我在那里,我发现了错误,在过去的代码块中的一些很奇怪的情况,但印刷位置显示msg.position
其实等于txtArea.value.length
。这只发生在1%的时间内,就好像我的代码中存在某种竞争条件,在第二条if语句中这两个条件不相等,但在打印错误消息时却是相等的。
任何想法?
什么是'msg.position'(在这些罕见的情况下)?特别是,记录'typeof'它。 – Bergi 2012-09-30 19:47:22