JavaScript 返回多个值

上一节的知识讲了带参数的函数,getArea用于计算桌子的面积,它返回一个值——桌子的面积。

有的时候需求还真复杂,还是拿桌子来说,要求同时计算桌子的桌面面积,还计算桌子的体积。

计算面积用长度x宽度。

计算体积用长度x宽度x高度。

同时返回面积和体积,怎么办?

用数字类型,仅返回一个数字;

用布尔类型,返回一个值,要么是true,要么是false;

用字符串,可以返回多个信息,但这个信息需要再解析。

目前可以用的有数组、对象;对象还未深入学习。

先看看用数组从来包装多个值。后续再学习用对象返回多个值。

1
2
3
4
5
6
7
8
9
10
function getSize(length,width,height){
     // 先计算面积,放于临时变量中
     var area= length*width;
     // 再计算体积,放于临时变量中
     var volume=length*width*height;
     // 声明一个数组,放置面积和体积
     var sizes=[area,volume];
     // 最后返回这个数组
     return sizes;
}

这个函数可以同时算出面积和体积。以数组的形式将面积和体积返回。

使用数据做函数的返回值,不仅可以返回2个值,以后不管什么复杂需求,返回3个4个乃至上成个,都可以用数组做函数的返回值。

接下来我们再来看如何调用返回数组的函数。

1
2
3
// 调用函数getSize
var area=getSize(length,width,height)[0];
var volume=getSize(length,width,height)[1];

说明:

getSize(length,width,height)将返回一个数组。

getSize(length,width,height)[0],取数组的第一个值。这是数组取值的知识运用。

getSize(length,width,height)[1],取数组的第2个值。

取值后并赋值给变量area和volume。

完整示例代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html>
< html lang = "zh" >
< head >
     < meta charset = "UTF-8" >
     < title >返回多个参数的函数</ title >
</ head >
< body >
< script >
     window.onload=function (ev) {
         // 声明一个变量,用于临时存储桌子的长度
         var length;
         length=80;
 
         // 声明一个变量,用于临时存储桌子的宽度
         var width = 60;
 
         // 声明一个变量,用于临时存储桌子的高度
         var height = 100;
 
         // 调用函数getSize
         var area=getSize(length,width,height)[0];
         var volume=getSize(length,width,height)[1];
         document.write("桌子的宽度是"+width+"< br >");
         document.write("桌子的长度是"+length+"< br >");
         document.write("桌子的高度是"+height+"< br >");
         document.write(" 桌子的面积是"+area+"< br >");
         document.write(" 桌子的体积是"+volume+"< br >");
     }
 
     function getSize(length,width,height){
         // 先计算面积,放于临时变量中
         var area= length*width;
         // 再计算体积,放于临时变量中
         var volume=length*width*height;
         // 声明一个数组,放置面积和体积
         var sizes=[area,volume];
         // 最后返回这个数组
         return sizes;
     }
 
</ script >
</ body >
</ html >

猜你喜欢

转载自www.cnblogs.com/lszw/p/10970713.html