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:16Winston 特别喜欢炸甜面圈,
-
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我们能够缩短编码而且挽救生命。
Simon Lin edited Chinese, Simplified subtitles for Function Return Values (Video Version) | ||
Yuanqing Edberg edited Chinese, Simplified subtitles for Function Return Values (Video Version) | ||
Yuanqing Edberg edited Chinese, Simplified subtitles for Function Return Values (Video Version) |