JavaScript函数怎样可以返回多个值?

//JavaScript函数的参数不能引用传递吗?怎么实现多个返回值?
function GetStation( id, x, y, z )
{
  if( id.length == 5 && id.substr( 0, 2) == "d_" )
  {
    x = id.substr( 2, 1 );
    y = id.substr( 3, 1 );
    z = id.substr( 4, 1 );
  }
}
function Main()
{
  var x;
  var y;
  var z;
  var id = "d_235";
  GetStation( x, y, z );//这里希望GetStation同时返回3个值,不知道该怎么做。
}
//我有2个要求:
//1、不用全局变量,管理起来太麻烦了;
//2、不要把x,y装到一个类里去,调用的时候总要写[对象名.成员名]。
//就这些了,谢谢!

在GetStation方法里面加代码:
var myArr=new Array();
myArr[0]=x;
myArr[1]=y;
myArr[2]=z;

ruturn myArr;

返回后直接使用即可,只有此办法,不可能让你返回3个东西。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-05-21
用数组嘛
function GetStation( id, x, y, z )
{
var Arrays;
  if( id.length == 5 && id.substr( 0, 2) == "d_" )
  {
    x = id.substr( 2, 1 );
    y = id.substr( 3, 1 );
    z = id.substr( 4, 1 );
  }
Arrays[0]=x;
Arrays[1]=y;
Arrays[2]=z;
return Arrays;
}
function Main()
{
  var x;
  var y;
  var z;
var Arrays;
  var id = "d_235";
  Arrays=GetStation( x, y, z );//这里希望GetStation同时返回3个值,不知道该怎么做。
}
没测试过,反正就这意思本回答被网友采纳
第2个回答  2015-10-11
可以返回一个对象,对象是可以有很多值的。例如:
function x() {
var o = new Object();
o.a1 = "张三";
o.a2 = "男";
o.a3 = 22;
return o;
};

alert(x().a1);
alert(x().a3);

方法二: 可以使用全局变量, 在函数里给全局变量赋值达到返回目的,但是不推荐滥用全局变量。
第3个回答  2013-08-23
设其返回值为类类型,一个类里可存放多个传过来的参数,主要是初始化时传过来的!这样就可以实现返回多个参数了!我想Javascript里面不会没有类的概念吧!
相似回答