自定义javascript的clone方法
程序员文章站
2022-03-02 11:54:54
...
在网上找到的clone方法代码:
方法一:定义一个clone方法来实现。
方法二:通过object原型扩展实现。
方法一:定义一个clone方法来实现。
function clone(myObj){
if(typeof(myObj) != 'object')
return myObj;
if(myObj == null)
return myObj;
var myNewObj = new Object();
for(var i in myObj)
myNewObj[i] = clone(myObj[i]);
return myNewObj;
}
方法二:通过object原型扩展实现。
Object.prototype.Clone = function()
{
var objClone;
if ( this.constructor == Object ) objClone = new this.constructor();
else objClone = new this.constructor(this.valueOf());
for ( var key in this )
{
if ( objClone[key] != this[key] )
{
if ( typeof(this[key]) == 'object' )
{
objClone[key] = this[key].Clone();
}
else
{
objClone[key] = this[key];
}
}
}
objClone.toString = this.toString;
objClone.valueOf = this.valueOf;
return objClone;
}
上一篇: 已知三点求平面法向量
下一篇: 手机号码验证