Puede devolver una matriz, un objeto literal o un objeto de un tipo creado que encapsula los valores devueltos.
Luego puede pasar la matriz, el objeto literal o el objeto personalizado a un método para diseminar los valores. ejemplo
objeto: ejemplo
function myFunction(value1,value2,value3)
{
var returnedObject = {};
returnedObject["value1"] = value1;
returnedObject["value2"] = value2;
return returnedObject;
}
var returnValue = myFunction("1",value2,value3);
if(returnValue.value1 && returnValue.value2)
{
//Do some stuff
}
Matriz: Objeto
function myFunction(value1,value2,value3)
{
var returnedArray = [];
returnedArray.push(value1);
returnedArray.push(value2);
return returnedArray;
}
var returnValue = myFunction("1",value2,value3);
if(returnValue[0] && returnValue[1])
{
//Do some stuff
}
personalizado:
function myFunction(value1,value2,value3)
{
var valueHolder = new ValueHolder(value1, value2);
return valueHolder;
}
var returnValue = myFunction("1",value2,value3);
// hypothetical method that you could build to create an easier to read conditional
// (might not apply to your situation)
if(returnValue.valid())
{
//Do some stuff
}
Evitaría el método de matriz porque tendría que acceder a los valores a través de índices en lugar de propiedades de objeto con nombre.
excepto que no puede agregar miembros a una variable no inicializada. – rob
no funciona y no hace nada. se está rompiendo en la línea que tenía myObject.Value2, myObject.Value3. ¿Alguna sugerencia? – user695663
lo siento, se olvidó de inicializarlo. Lo he actualizado –