类别:js / 日期:2022-11-22 / 浏览:233 / 评论:0

function clone(obj) {
    var copy;
    switch (typeof obj) {
        case "undefined": break;
        case "number": copy = obj - 0;
            break;
        case "string": copy = obj + "";
            break;
        case "boolean": copy = obj;
            break;
        case "object": //object 分为两种情况 对象(Object)和数组(Array) 
            if (obj === null) {
                copy = null;
            } else {
                if (Object.prototype.toString.call(obj).slice(8, -1) === "Array") {
                    copy = []; for (var i = 0; i < obj.length; i++) {
                        copy.push(clone(obj[i]));
                    }
                } else {
                    copy = {}; for (var j in obj) {
                        copy[j] = clone(obj[j]);
                    }
                }
            }
            break; default: copy = obj; break;
    }
    return copy;
}
版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。

«    2023年11月    »
12345
6789101112
13141516171819
20212223242526
27282930

最新留言