您可以返回一个数组,对象文本或您创建的封装了返回值的类型的对象。
然后,您可以将数组,对象字面量或自定义对象传递到传播值的方法中。
对象例如:
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
}
阵列例如:
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
}
自定义对象:
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
}
我会避免使用数组方法,因为您必须通过索引访问值而不是命名对象属性。
除了您不能将成员添加到未初始化的变量。 – rob 2011-05-04 17:33:00
它不工作,什么都不做。它打破了我有myObject.Value2,myObject.Value3的行。有什么建议么? – user695663 2011-05-04 17:36:21
抱歉,忘记初始化它。我已经更新了 – 2011-05-04 18:24:44