javascript如何(eval)还原OBJECT对象

来源:百度知道 编辑:UC知道 时间:2024/07/03 11:12:26
假设未知对象方法名,未知对象方法,但是方法名和方法都存放在2个数组里面,问题是如何还原出原来的对象!
例如:数组a=new Array('x','y','z');数组b=new Array(123,function(a){return a;},"如何还原?");
要求还原出这个一个Object:
O=new Object();
O.x=123;
O.y=function(a){return a;}
O.z="如何还原?";
例如:a=["bbb",'ccc'];b=[new Date(),5];
还原出来的应该是:
function(){
this.bbb=new Date();
this.ccc=5;
}
我暂时还想不出如何使用eval()来还原!
请高手指点指点!!!谢谢!!!50分送你了!

<script>
window.onload=function(){
var a = ["a","b","c"];
var b = [1,"haha",function(a){alert(a);}];
var obj = Ary2Obj(a,b);
var func = Ary2Func(a,b);
//test
obj.c(obj.a+obj.b);
//test
var f = new func();
f.c(f.a+f.b);
}
function Ary2Obj(ary1,ary2){
var o = {};
for(var i=0;i<ary1.length;i++){
o[ary1[i]]=ary2[i];
}
return o;
}
function Ary2Func(ary1,ary2){
var f = function(){};
for(var i=0;i<ary1.length;i++){
f.prototype[ary1[i]]=ary2[i];
}
return f;
}
</script>