Ниже приведен скрипт, который я использовал для тестирования функции разбиения после того, как наши системы, казалось, получали неопределенные данные. Этот тест не проходит примерно каждые 8 часов в IE, но я не видел, чтобы он провалился в Firefox или Chrome. Строка в этом тесте отражает используемые данные, полученные с нашего веб-сервера. Наши системы в основном используются с IE, поэтому мне было бы интересно узнать, можно ли что-нибудь сделать, чтобы избежать сбоя такого типа, или это просто связано с разделенной реализацией IE или управлением памятью?
var test_string = "1^^0^^0.000^^0^^0.0^^0.0^^0^^0^^0.0000^^0^^0^^0^^1^^2^^47^^1000^^";
var good_array = [ "1", "0", "0.000", "0", "0.0", "0.0", "0", "0", "0.0000", "0", "0", "0", "1", "2", "47", "1000", ""]
var test_count = 0;
var test_array = new Array(20);
var bad_split_count = new Array();
var bad_split_time = new Array();
function split_test ()
{
test_array = test_string.split('^^');
var i;
for (i = 0; i < 16; i++)
{
if (test_array[i] === good_array[i])
{
var good_item = true;
}
else
{
var d = new Date()
bad_split_time.push(d);
bad_split_count.push(test_count);
break;
}
}
test_count++;
setTimeout(split_test, 5);
}