我對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 –