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