深度克隆

来源:互联网 发布:淘宝篮球正品店推荐 编辑:程序博客网 时间:2024/06/05 16:22
deepClone: function (obj) {    //返回传递给他的任意对象的类    var isClass = function (o) {        if (o === null) return "Null";        if (o === undefined) return "Undefined";        return Object.prototype.toString.call(o).slice(8, -1);    };    //深度克隆    var deepClone = function (obj) {        var result, oClass = isClass(obj);        //确定result的类型        if (oClass === "Object") {            result = {};        } else if (oClass === "Array") {            result = [];        } else {            return obj;        }        for (key in obj) {            var copy = obj[key];            if (isClass(copy) == "Object") {                result[key] = arguments.callee(copy);//递归调用            } else if (isClass(copy) == "Array") {                result[key] = arguments.callee(copy);            } else {                result[key] = obj[key];            }        }        return result;    };    return deepClone(obj);}
原创粉丝点击