Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript split()函数在IE中经过一段时间后失败_Javascript_Internet Explorer - Fatal编程技术网

Javascript split()函数在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^^"

下面是一个脚本,在我们的系统似乎得到未定义的数据后,我用来测试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 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坏的分割时间和坏的分割计数只是为了记录测试中的失败,它们不能代表我们系统中的任何东西。