实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制
程序员文章站
2022-07-06 12:02:41
记录一下,方便以后复制粘贴 取自https://www.cnblogs.com/gxq666/archive/2018/12/27/10182940.html ......
记录一下,方便以后复制粘贴
// 方法一: object.prototype.clone = function() { var o = this.constructor === array ? [] : {}; for (var e in this) { o[e] = typeof this[e] === "object" ? this[e].clone() : this[e]; } return o; }; //方法二: /** * 克隆一个对象 * @param obj * @returns */ function clone(obj) { var buf; if (obj instanceof array) { buf = []; //创建一个空的数组 var i = obj.length; while (i--) { buf[i] = clone(obj[i]); } return buf; } else if (obj instanceof object) { buf = {}; //创建一个空对象 for (var k in obj) { //为这个对象添加新的属性 buf[k] = clone(obj[k]); } return buf; } else { //普通变量直接赋值 return obj; } }
取自https://www.cnblogs.com/gxq666/archive/2018/12/27/10182940.html