У меня есть следующий код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