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 >


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM