Я совершенно новый для 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 –