上一節的知識講了帶參數的函數,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
>
|