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

转载于:https://www.cnblogs.com/lszw/p/10970713.html

JavaScript 返回多个值相关推荐

  1. 在JavaScript中返回多个值?

    我试图在JavaScript中返回两个值. 那可能吗? var newCodes = function() { var dCodes = fg.codecsCodes.rs;var dCodes2 = ...

  2. JavaScript的类型、值和变量

    计算机程序的运行需要对值进行操作,在编程语言中,能够表示并操作的值得类型称为数据类型.变量用来将值存储起来,变量是值得符号名称. 一.数据类型 JavaScript的数据类型可以分为两类,原生类型和对 ...

  3. javascript基本数据类型与值类型引用类型说明

    DEMO: http://sources.ikeepstudying.com/jsdata/ 摘要:本文主要讲了javascript中的基本数据类型,以及值类型和引用类型的区别与使用 一.基本数据类型 ...

  4. Thymeleaf模板如何获取springMVC返回的model值

    Thymeleaf模板如何获取springMVC返回的model值 后台的实现: @RequestMapping("/hello")public String hello(Mode ...

  5. 在JS方法中返回多个值的三种方法

    在使用JS编程中,有时需要在一个方法返回两个个或两个以上的数据,用下面的几种方法都可以实现: 1 使用数组的方式,如下: <html> <head><title>J ...

  6. javascript返回页面顶部_RobotFramework: 执行JavaScript语句

    场景 在做web项目时,通常需要开发一些自动化用例,自动化用例执行可以设置触发条件,也可以定时执行,在每次代码发生变更的情况下,自动触发自动化用例执行,可以及时检测修改代码是否引入新的问题,提高产品的 ...

  7. pageoffice 在线编辑 word 文档,保存之后返回自定义的值,并把值传到父页面

    1.    描述:最近项目有个在线编辑office 办公文档的功能, 采用的方案是用 pageoffice 在线编辑 office 文档. 因为高版本的谷歌和火狐不支持任何插件了.所以pageoffi ...

  8. JavaScript如何判断一个值是不是数字?

    JavaScript如何判断一个值是不是数字? 第一种方法:isNaN() 使用js自带全局函数isNaN(), isNaN()返回一个Boolean值,如下 : var c="hello& ...

  9. python如何返回多个值_python- 如何返回多个值 | 学步园

    如何写一个返回多个值的函数 函数的return 语句只能返回一个值,可以是任何类型. 因此,我们可以"返回一个 tuple类型,来间接达到返回多个值 ". 例:   x 除以 y ...

最新文章

  1. VBScript中InStr函数的用法
  2. 机器学习模型的超参数优化 | 原力计划
  3. 数学之路(3)-机器学习(3)-机器学习算法-神经网络[17]
  4. linux 硬件抽象,Linux 内核硬件抽象
  5. 蓝桥备赛第三周 倍增+贪心+素数+约数
  6. 跟熊浩学沟通30讲读后感_怎样提高自己的沟通表达能力
  7. 国家邮政局:除夕和初一包裹量超1.3亿件,同比增长223%
  8. os.path的使用
  9. 《混合云计算》——2.3 整合势在必行
  10. BZOj 4540: [Hnoi2016]序列 [莫队 st表 预处理]
  11. 字符集,字体,编码,代码页,输入法
  12. linux其他命令(查找文件、软链接、硬链接)
  13. 浙大何越扬计算机系2 2,浙江大学第十一届大学生数学建模竞赛获奖名单.doc
  14. 【MC 网易-我的世界-mod开发基础笔记】 --- 常用的在线工具
  15. yahoo雅虎邮箱开通直邮(pop)功能
  16. 10大渗透神器,渗透测试必备
  17. 有实力的APP开发公司应该具备哪些优势?
  18. 图像低频、高频信息的理解
  19. mysql 中创建自增的序列(Sequence)
  20. 云原生与微服务架构基础:01 | 为什么说云原生重构了互联网产品开发模式

热门文章

  1. 大型电子商务网站架构之--分布式可扩展数据库架构
  2. c# 文件IO操作 StreamReader StreamWriter Split 使用
  3. C#的变迁史 - C# 2.0篇
  4. 转:微软未公开的几个过程介绍及用法
  5. C# 拖放操作源码详解2
  6. windows 2003 终端服务超出最大允许连接数(远程桌面,解决办法)
  7. 诺亚面向语音语义的深度学习研究进展
  8. 关于《计算机程序的构造和解释》
  9. 聚类--K均值算法:自主实现与sklearn.cluster.KMeans调用
  10. Python(五)列表