我的目标是除了HTML元素,可以复制任何对象。网上很多用jQuery.extend方法来实现,结果很坑爹!这玩意,碰到字符串、数组就乱成一团!用JSON来处理:var cloneObj = JSON.parse(JSON.stringify(obj));好像也有问题。
最后弄了个笨办法遍历:CopyObj: function(obj){
var typ=Object.prototype.toString.call(obj);
if(typ=='[object String]'){
var Str='';
Str +=obj;
return Str;
};
if(typ=='[object Array]'){
var sz=new Array;
for(var i=0;i<obj.length;i++){
sz[i]=MyJS.CopyObj(obj[i]);
};
return sz;
};
if(typ=='[object Object]'){
var o=new Object;
for (var n in obj) {
o[n] = CopyObj(obj[n]);
};
return o;
};
return obj;
},
最后弄了个笨办法遍历:CopyObj: function(obj){
var typ=Object.prototype.toString.call(obj);
if(typ=='[object String]'){
var Str='';
Str +=obj;
return Str;
};
if(typ=='[object Array]'){
var sz=new Array;
for(var i=0;i<obj.length;i++){
sz[i]=MyJS.CopyObj(obj[i]);
};
return sz;
};
if(typ=='[object Object]'){
var o=new Object;
for (var n in obj) {
o[n] = CopyObj(obj[n]);
};
return o;
};
return obj;
},
解决方案 »
- 求模拟N个球在一个平面滚动和碰撞的算法
- 关于VBS和JS的问题--在线等大大们
- FF下 document.documentElement.scrollTop只表示body对象的,而其他的比如div,span之类
- 简单问题,快来抢分啊
- 将中文引号替换为英文引号问题
- 一个简单的问题
- 求大神赐教:如何交换数组里两个对象的位置
- 如何判断其它页是否对当前页,提交过.
- 怎么确定坐标?
- JQuery Ajax返回html中的字符串处理
- 如何用js获取网页按钮的位置范围或者是一个范围内的坐标也可以,然后再模拟鼠标点击操作点击该按钮呢?
- 求一段代码(JS+html) 根据访问端显示页面上半部分隐藏下半部分 电脑上半部分 手机下半部分 求大神帮忙
var CopyObj = function(source) {
var result={};
for (var key in source) {
result[key] = typeof source[key]==="object"? CopyObj(source[key]): source[key];
}
return result;
}