深度copy对象或数组,兼容浏览器

function cloneObj (obj) {
        var str, newobj = obj.constructor === Array ? [] : {};
        if (typeof obj !== 'object') {
                return;
        } else if (window.JSON) {
                str = JSON.stringify(obj), 
                newobj = JSON.parse(str); 
        } else {//如果不支持以上方法
                for (var i in obj) {
                        newobj[i] = typeof obj[i] === 'object' ? cloneObj(obj[i]) : obj[i]; 
                }
        }
        return newobj;
};

猜你喜欢

转载自blog.csdn.net/u011141492/article/details/80354555