< Return to Video

Function Return Values (Video Version)

  • 0:01 - 0:04
    让我们回到我们的程序,
    此程序利用函数功能
  • 0:04 - 0:06
    描画了四个Winston(大黄娃娃头)。
  • 0:06 - 0:08
    我已经改变了他
  • 0:08 - 0:11
    在每一年龄阶段实际年龄的显示。
    你很快会明白为什么。
  • 0:11 - 0:14
    但首先我需要让你们知道关于
    Winston 的某些事情。
  • 0:14 - 0:16
    Winston 特别喜欢炸甜面圈,
  • 0:16 - 0:18
    他一天吃三个。
  • 0:18 - 0:21
    那就是他的脸又大又黄的原因。
  • 0:22 - 0:25
    所以为了警告Winston有关
    炸甜面圈对他有多么不好,
  • 0:25 - 0:31
    我想修改一下这个程序
    显示他在每个年龄段吃了
  • 0:31 - 0:33
    多少个炸甜面圈。
  • 0:33 - 0:36
    比如,当他两岁的时候,
  • 0:36 - 0:42
    那意味着他吃了3x365x2,
  • 0:42 - 0:46
    所以是一天三个,乘以365天,
    再乘以2年,
  • 0:46 - 0:50
    我们会在那个头下面显示那个结果。
    哇,这么多!
  • 0:50 - 0:54
    两千个炸甜面圈,对一个两岁的
    孩子来说真的很多。
  • 0:54 - 1:02
    现在他是十四岁,让我们看看,
    应该是3乘以365 再乘以14,
  • 1:04 - 1:08
    那就是15,000个。好了。
  • 1:08 - 1:13
    我可以一直用这个算式,
    但我开始注意到一个模式。
  • 1:13 - 1:17
    我在重复我的计算。
  • 1:17 - 1:20
    虽然我只是改变一个数字:
    年数。
  • 1:20 - 1:23
    无论何时当我看到这样的重复编码,
  • 1:23 - 1:28
    我会想,“嗯,我能把这变成一项函数吗?“
  • 1:28 - 1:32
    是的,绝对可以。
    那么现在让我们来试试看。
  • 1:33 - 1:34
    我会在这儿定义我的函数
  • 1:34 - 1:40
    或者把它叫做calTotalDonuts=function
  • 1:41 - 1:44
    它需要一个参数,年龄的数目,
  • 1:44 - 1:46
    因为那是我们每次
  • 1:46 - 1:49
    做计算时唯一有变化的数字。
  • 1:49 - 1:53
    我们将在这里面做计算,
  • 1:53 - 2:00
    并将其存作一个变量,
    所以是3乘以365 乘以numYears.
  • 2:01 - 2:03
    可以啦,现在我们就有了这个函数功能。
  • 2:03 - 2:09
    我会用calcTotalDonuts来替代这个表达式
  • 2:09 - 2:12
    使用函数功能,并且输入“2”
  • 2:13 - 2:17
    好了,我们并没有看见总数
  • 2:17 - 2:19
    那么,怎么回事儿?
  • 2:19 - 2:23
    哦,我们的函数功能在这儿计算了总数
  • 2:23 - 2:26
    但没有告诉任何人那个总数。
  • 2:26 - 2:30
    就像老师在课堂上叫你起来回答问题
  • 2:30 - 2:32
    你的答案在你的脑子里,
  • 2:32 - 2:34
    但你羞于把它说出来。
  • 2:34 - 2:37
    你已经完成了工作,但你的老师
    却不知道,
  • 2:37 - 2:40
    如果我们想让函数把值告诉给
  • 2:40 - 2:45
    调用它的人,
    那这个函数必须明确地回返一个值。
  • 2:46 - 2:49
    所以,为了函数能回返一个值,
    我们必须写下“return”
  • 2:50 - 2:52
    然后就有了它所要的回值。
  • 2:52 - 2:55
    也许它是一个变量或者
    是一个值或一个表达式,
  • 2:55 - 2:58
    那么在这儿我们就敲上
    return totalDonuts,行吗?
  • 2:58 - 3:02
    这样调用这个函数就能得到回应了
  • 3:02 - 3:04
    现在我们的值显示在此,好棒!
  • 3:05 - 3:07
    事实上我们能够缩短我们的函数,
  • 3:07 - 3:08
    我们甚至不用把它存进变量,
  • 3:08 - 3:10
    我们仅仅把这儿的整个表达式
  • 3:10 - 3:14
    放进回车,然后它就仅有一行。很好。
  • 3:15 - 3:17
    好吧,现在我们可以履行
  • 3:17 - 3:20
    在一生的各个年龄段
    计算炸甜面圈的总量
  • 3:20 - 3:23
    只需点击这个函数功能
    并且输入年数。
  • 3:24 - 3:29
    让我们来看看,这是 calcTotalDonuts(25),
  • 3:29 - 3:34
    没有打错地方,it's calcTotalDonuts(65)
  • 3:36 - 3:40
    好了!很棒,如果他到了65岁,
  • 3:40 - 3:44
    它就吃了70,000个炸甜面圈。
    这太多了。
  • 3:45 - 3:48
    我觉得Winston不会活那么长。(笑声)
  • 3:48 - 3:50
    但现在我们已经把它做成了函数功能,
  • 3:50 - 3:53
    要改变一下它的某些部分也很容易。
  • 3:53 - 3:55
    比如Winston明白这个并且说,
  • 3:55 - 3:59
    “哇,哇,这太多了。如果我每天
    只吃一个怎么样?”
  • 3:59 - 4:02
    行, 我们可以从这儿开始,
    改变这一个数字,
  • 4:03 - 4:04
    然后看看所有的变化。
  • 4:04 - 4:08
    这是23,000.还是很多。
    那么Winston又说,
  • 4:08 - 4:11
    “好吧,好吧,如果我每周吃一个怎么样?”
  • 4:11 - 4:12
    好的,这样比较合理。
  • 4:12 - 4:15
    那么我们只需要把365 变为50,
  • 4:15 - 4:17
    因为好像是一年50个星期,是吗?
  • 4:18 - 4:23
    好,这就好多了,是吗?
    3000个炸甜面圈,这看起来还比较合理。
  • 4:23 - 4:27
    所以,你看利用函数和回返值,
  • 4:27 - 4:31
    我们能够缩短编码而且挽救生命。
Title:
Function Return Values (Video Version)
Description:

more » « less
Video Language:
English
Duration:
04:32

Chinese, Simplified subtitles

Revisions