javascript 深拷贝

javascript 深拷贝,支持Array、Object、Date、RegExp、Function!

欢迎提出改正意见及建议!

         function deepClone(o) {
            let type = Object.prototype.toString.call(o);
            //null
            if (o === null) return null;
            //函数
            if (typeof o === 'function') return o.bind();
            //基本数据类型
            if (typeof o !== 'object') return o;
            //日期
            if (type === '[object Date]') return new Date(o);
            //正则
            if (type === '[object RegExp]') return new RegExp(o);
            //数组或对象
            let _o = new o.constructor;
            for (let k in o) {
                if (o.hasOwnProperty(k)) {
                    _o[k] = deepClone(o[k]);
                }
            }
            return _o;
        }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。