JavaScript 深拷贝


    function deepCopy(source) {
        var sourceCopy = source instanceof Array ? [] : {};
        for (var item in source) {
            sourceCopy[item] = typeof source[item] === 'object' ? objDeepCopy(source[item]) : source[item];
        }
        return sourceCopy;
    }

上面的方法可以递归调用,解析对象或者数组的嵌套。

完善,可以通过自解析函数把上面的函数暴漏给window对象


    (function (win) {

           win.deepCopy = function deepCopy(source) {
                var sourceCopy = source instanceof Array ? [] : {};
                for (var item in source) {
                    sourceCopy[item] = typeof source[item] === 'object' ? objDeepCopy(source[item]) : source[item];
                }
                return sourceCopy;
            }
        }
    )(window);

Add a Comment

您的电子邮箱地址不会被公开。