js 复制对象或者复制自定义函数

来源:百度知道 编辑:UC知道 时间:2024/06/27 09:53:16
比如:var aa=new AA(); 不是用var bb=aa;因为它们指向同一对象,也不能用var bb=new AA();而是要复制aa,有办法吗?
自定义函数:function cc(){} 有办法复制cc()函数吗?要求是复制一个副本,而不是引用cc()函数。
请指教!

这样行吗?
<SCRIPT LANGUAGE=javascript>
<!--
function AA(){
this.x=10;
this.y=20;
this.hello="hello";
this.clone=cloneMe;
this.sayHello=sayHello;
}

function sayHello(){
alert(this.hello);
}

function cloneMe(){
var rt=new AA();
for(var p in rt){
rt[p]=this[p];
}
return rt;
}

var aa=new AA();
var bb=aa.clone();
aa.x=50;
aa.hello="changed hello";
alert(aa.x);
alert(bb.x);
aa.sayHello();
bb.sayHello();
//-->
</SCRIPT>

可以的!很简单的一个方法!
var cc_copy = function(){ cc(); } ;