Javascript split()函数在IE中经过一段时间后失败
下面是一个脚本,在我们的系统似乎得到未定义的数据后,我用来测试split函数。这个测试在IE中大约每8小时失败一次,但在Firefox或Chrome中我没有看到它失败。此测试中的字符串代表从web服务器接收到的数据。我们的系统主要与IE一起使用,所以我想知道是否有什么方法可以避免这种类型的故障,或者仅仅是IE拆分实现或内存管理Javascript split()函数在IE中经过一段时间后失败,javascript,internet-explorer,Javascript,Internet Explorer,下面是一个脚本,在我们的系统似乎得到未定义的数据后,我用来测试split函数。这个测试在IE中大约每8小时失败一次,但在Firefox或Chrome中我没有看到它失败。此测试中的字符串代表从web服务器接收到的数据。我们的系统主要与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 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);
}
var test_string=“1^^0^^0.000^^0^^0.0^^0^^0^^0.0000^^0^^0^^1^^2^^47^^1000^”;
var good_数组=[“1”、“0”、“0.000”、“0”、“0.0”、“0”、“0”、“0”、“0.0000”、“0”、“0”、“0”、“0”、“1”、“2”、“47”、“1000”、“1”]
var测试计数=0;
var测试_阵列=新阵列(20);
var bad_split_count=新数组();
var bad_split_time=新数组();
功能分割测试()
{
test_array=test_string.split('^^');
var i;
对于(i=0;i<16;i++)
{
if(测试_数组[i]==良好_数组[i])
{
var good_item=true;
}
其他的
{
var d=新日期()
错误的分割时间。推(d);
错误的分割计数。推送(测试计数);
打破
}
}
测试计数++;
设置超时(拆分测试,5);
}
您是否需要坏的分割时间和坏的分割计数来扩大规模?@Tadeck坏的分割时间和坏的分割计数只是为了记录测试中的失败,它们不能代表我们系统中的任何东西。