上一节的知识讲了带参数的函数,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 > |