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