stack overflow at line 7

 昨天还好好的代码今天IE就报stack overflow at line 7错,在网上找了下说什么金山毒霸开启上网保护导致,关了无用,重置IE设置也无用,郁闷。

动手调试js发现我在8583报文里面加了个提供小票打印的form类,js复制的时候Ext.getCmp('idno').getValue()写成了Ext.getCmp('idno'),赋值的是Component对象,用Ext.util.JSON.encode
doEncode = function(o){  
    if(!Ext.isDefined(o) || o === null){  
        return "null";  
    }else if(Ext.isArray(o)){  
        return encodeArray(o);  
    }else if(Ext.isDate(o)){  
        return Ext.util.JSON.encodeDate(o);  
    }else if(Ext.isString(o)){  
        return encodeString(o);  
    }else if(typeof o == "number"){  
        //don't use isNumber here, since finite checks happen inside isNumber  
        return isFinite(o) ? String(o) : "null";  
    }else if(Ext.isBoolean(o)){  
        return String(o);  
    }else {  
        var a = ["{"], b, i, v;  
        for (i in o) {  
            // don't encode DOM objects  
            if(!o.getElementsByTagName){  
                if(!useHasOwn || o.hasOwnProperty(i)) {  
                    v = o[i];  
                    switch (typeof v) {  
                    case "undefined":  
                    case "function":  
                    case "unknown":  
                        break;  
                    default:  
                        if(b){  
                            a.push(',');  
                        }  
                        a.push(doEncode(i), ":",  
                                v === null ? "null" : doEncode(v));  
                        b = true;  
                    }  
                }  
            }  
        }  
        a.push("}");  
        return a.join("");  
    }      
}
可能还有别的情况会导致这种错,碰到这个问题,查下可能出现的常见场景,解决不了代码最好调试分析下代码
 

你可能感兴趣的:(职场,stack,ExtJs,overflow,休闲)