js对象克隆

方式一:

----------------------------------------------------------------------------------

代码来自网友“追梦流星”

 

Object.prototype.Clone=function()
{
     var objClone=new this
.constructor(); //这里是创建一个与被Clone对象相同结构的对象
      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];
 
               } 
 
          }
 
  }
   if(!objClone || (' '+objClone)==' '
)
 
  {
        return (new String(this)+objClone)?this
:objClone;
 
  }
   else

   {
         objClone.toString=this
.toString;
         return
 objClone;
 
  }
 }

方式二:(语法简单)

----------------------------------------------------------------------------------

var clone = function(obj) {
            if (typeof (obj) != "object")
            return obj;

            if (obj == null)
            return null;

            var newObj = {};
            for (var property in obj) {
                newObj[property] = clone(obj[property]);
            }
            return newObj;
        }

阅读更多
文章标签: function object null
个人分类: JS
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭