我对JavaScript很新,所以也许这是一个愚蠢的错误。 我创建像follwing对象:JavaScript传递对象作为函数参数
function objA(){
this.prop1;
this.prop2;
this.prop3;
this.func1=function(){
alert('func1');
}
this.func2=function(){
alert('func2');
}
}
我现在,我要传递的对象的函数:
var foo=new objA;
function test(foo){....}
的问题是,当我叫试验(+),我得到的在objA(objA.func1和objA.func2)中执行函数。 我只想获得objA的属性值。 我要使用其他功能和数组,objA的属性填充数组,然后将数组:
var arrayA={}
function fillArray(data){
arrayA.prop1=data.prop1;
arrayA.prop2=data.prop2;
arrayA.prop3=data.prop3;
}
function test(arrayA){....}
是它唯一的出路还是我做错了什么?
是,你的测试功能是错误的,当它做你不想要的东西。你可以发布它,这似乎是至关重要的问题? – Bergi
同意......没有看到test()的代码,所以不可能说出发生了什么。 – Pointy
正如你可以看到那里,它正常工作http://jsfiddle.net/GhNmK/1/。所以你的测试函数的原因如上所述Bergi –