在js里面,对数据排序如下,
l_doListRows.sort(function(a_row1,a_row2,as_fieldName){
        if (a_row1[as_fieldName] < a_row2[as_fieldName]){
return -1}
else if (a_row1[as_fieldName] > a_row2[as_fieldName]){
return 1}
else{
return 0;}
});其中在IE8里面能正确执行,但在IE9里面,就报"不能执行已释放script代码“
原因是a_row1,a_row2没能传入function中,请问如何做才能实现兼容呢?

解决方案 »

  1.   

    l_doListRows.sort(function(a_row1,a_row2,as_fieldName){
             if (a_row1[as_fieldName] < a_row2[as_fieldName]){
    return -1}
    else if (a_row1[as_fieldName] > a_row2[as_fieldName]){
    return 1}
    else{
    return 0;}
    });这个要看sort的实现,排序一般是点击某一个列的头,然后调用排序算法,排序算法按理说参数只要as_fieldName就可以了,因为sort一般实现遍历,遍历时会挨个取得每一行的值(这里一般涉及到dom操作)。因为不知道你的sort实现,所以不好说怎么解决。
      

  2.   

    当然与sort有关系,可能你用的sort是别人封装好的类库方法,但是这个月sort的实现有关。