yzx99

导航

 

由于javascript函数无法按我想象的参数传址,因此有时就会返回多个值.使用如下代码:

参考:http://blog.csdn.net/leftfist/archive/2008/04/09/2269415.aspx

<html>
<body>
<script>
function f(s1, man)
{
 s1="byebye";
 man=new Object();
 man.name="YZX";
 return [s1, man];
}

s1="hello";
man=new Object();
man.name="name";
man.age=30;

 

var ret=f(s1, man);
s1=ret[0];
man=ret[1];

 

alert ("s1=" + s1);
alert ("man.name=" + man.name);
alert ("man.age=" + man.age);
</script>
</body>
</html>

 

有时返回值中只要用第1个,则可以写成:

s1=f(s1, man)[0];

 

另外返回值还可以使用命名参数的形式:

 return {_s1:s1, _man:man};

这样返回值使用时:

var ret=f(s1, man);
s1=ret._s1;
前面一种是以数组的形式返回结果(ret有length属性),后面一种是以对象的形式返回结果.

posted on 2008-08-05 05:50  yzx99  阅读(3650)  评论(4编辑  收藏  举报