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 。