Javascript函数返回多个值的方法介绍

发布时间:2020-03-20编辑:脚本学堂
本文介绍下javascript函数返回多值的实现方法,总计三个例子,个个都不错,有需要的朋友,不妨参考下。

1、有关javascript函数返回多个值的疑问

语句:
 

复制代码 代码示例:
Return [a,b,c,d];


这是返回语句,可是它有对方括号,里面多个值。

什么意思?难道是返回多个值?网上介绍说,Javascript绝无可能在函数里返回多个值。

试着在代码里添加了这条 Return [a,b,c,d]; 语句,发觉没有错误提示,于是
 

复制代码 代码示例:
var re = (function f(){return [0,1,2,3];})();


然后 alert(re[0]);
显示 0,说明提取成功。

2、返回多个值的例子
一直好奇JavaScript函数是否可以返回多个值,今天在学习的过程中,找到了答案,答案是“可以”。
来看例子。
 

复制代码 代码示例:
<script type="text/javascript">
/**
 * 函数返回多个值
 * Edit www.jb200.com
*/
function MultiRet(x, y)
{
   x = 2;
   y = 5;
 return [x+y, x-y, x*y, x/y];
     }
var re = MultiRet();
alert(re[0]);
alert(re[1]);
alert(re[2]);
alert(re[3]);
//依次返回7,-3,10,0.4
</script>

3、Javascript返回多个值的应用
Javascript可以方便的返回多个值,对实际应用非常方便,其具体方式有两种,具体如下:

第一种:以索引编号方式返回多个值
 

复制代码 代码示例:
function getViewPort1(){
    return [
        document.body.clientWidth,
        document.body.clientHeight
    ];
}

以上述方式返回值时,可以通过元素索引编号来获取返回值,代码如下:
 

复制代码 代码示例:
var ret = getViewPort();
var width = ret[0];
var height = ret[1];

第二种:以键值对形式返回多个值
 

复制代码 代码示例:
function getViewPort(){
    return {
        width: document.body.clientWidth,
        height: document.body.clientHeight
    };
}

以上述方式返回值时,可以通过键来获取相应的值,代码如下:
 

复制代码 代码示例:
var ret = getViewPort();
var width = ret["width"];
var height = ret["height"];
或:
var ret = getViewPort();
var width = ret.width;
var height = ret.height;

就是这些了,应该是目前总结的最全面的js函数返回多个值的例子了。
另外,愿意了解javascript函数的朋友,可以参考这个链接:http://www.jb200.com/w3school/js/js_functions.html