您可以返回一個數組,對象文本或您創建的封裝了返回值的類型的對象。
然後,您可以將數組,對象字面量或自定義對象傳遞到傳播值的方法中。
對象例如:
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