//要复制的原对象
var destobj={ colkey: "col", colsinfo: "NameList" }
//复制的目标对象
var myobj=new Object()
for(var om in myobj)
{
var name=om//属性名称
var value=destobj[om]//属性对应的值
myobj[name]=destobj[om]
}
如果是使用了 JQ EXTJS 的话本身就有 对象克隆的 函数库可以使用 如 extjs 使用
ext.ux.util.clone()
没有用这些的话 可以自己写一个 克隆函数 网上有资源 比如
function deepClone(obj){ var result={},oClass=isClass(obj)// if(oClass==="Object"){
// result={}
// }else if(oClass==="Array"){
// result=[]
// }else{
// return obj
// }
for(key in obj){
var copy=obj[key]
if(isClass(copy)=="Object"){
result[key]=arguments.callee(copy)
}else if(isClass(copy)=="Array"){
result[key]=arguments.callee(copy)
}else{
result[key]=obj[key]
}
}
return result
}
function isClass(o){
if(o===null) return "Null"
if(o===undefined) return "Undefined"
return Object.prototype.toString.call(o).slice(8,-1)
}
或者参考 extjs 的方法
function(o) {if(!o || 'object' !== typeof o) { return o }
if('function' === typeof o.clone) { return o.clone() }
var c = '[object array]' === object.prototype.tostring.call(o) ? [] : {}
var p, v
for(p in o) {
if(o.hasownproperty(p)) { v = o[p]
if(v && 'object' === typeof v) {
c[p] = ext.ux.util.clone(v)
} else {
c[p] = v
}
}
}
return c}