返回return的理解,对吗?

返回return的理解,对吗?

问题描述:

​封装一个函数,这个函数可以返回元素的所有子元素节点

在这里,返回是“得出”的意思吗?自从开始接触“返回return”加上课程一直说返回,就一直不是很确切的理解这个词或者return。就像闭包,函数1里边定义函数2,函数2结束后return函数2,意思就是return,得出了函数1的值,而函数1的值就是函数2解出来的答案?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕久久 2021-04-22 17:11:05

同学你好,解答如下:

1、可以把“返回值”,理解成函数调用后,返回的结果。比如下图:

http://img1.sycdn.imooc.com//climg/60813a1909910d9506600218.jpg

调用fn后(fn()就是调用fn),会得到一个结果(用变量result接收的),这个结果就是return后面的内容,即数字1,所以fn()后,得到的结果就是1。

注意:函数需要调用,内部的代码才会执行

2、如下描述不正确:

http://img1.sycdn.imooc.com//climg/60813a3d0947dfe006850057.jpg

调用fn1,会执行fn1内部的代码;在fn1内部,会先声明fn2,注意fn2只是声明了出来内部代码并没有执行,因为fn2没有使用括号调用,所以只是声明,它内部代码不会执行

http://img1.sycdn.imooc.com//climg/60813a8b09f6eb9a07830318.jpg

http://img1.sycdn.imooc.com//climg/60813af20947b9c607270364.jpg

由于fn2没有执行,所以fn1的结果不是由fn2求来的,与fn2内部的return无关fn1的结果,就是fn2本身(函数体):

http://img1.sycdn.imooc.com//climg/60813b4509ef2d9c05860324.jpg

http://img1.sycdn.imooc.com//climg/60813cc4094e115808750513.jpg

建议同学把老师两次的回复,仔细看一遍。看的时候,遇到有代码截图的部分,一定要把代码敲一下,根据代码的运行结果结合老师的说明,理解一下。

祝学习愉快!

  • 谢谢老师,已经很清楚了,我再琢磨一下,就是觉得有点 绕跟懵
    2021-04-22 17:16:23
好帮手慕久久 2021-04-22 13:58:58

同学你好,解答如下:

1、“返回”就是“得出”的意思。js中说“返回”,一般就对应return:

http://img1.sycdn.imooc.com//climg/60810eb909b57ead10440136.jpg

2、如下描述不是很理解:

http://img1.sycdn.imooc.com//climg/60810f73093feeb607990097.jpg

是说如下代码吗?

http://img1.sycdn.imooc.com//climg/60810f9509bdb14d04060181.jpg

如果是的话,调用fn1后,会得到fn1的返回值,而fn1的返回值就是fn2(返回值就是return后面的内容):

http://img1.sycdn.imooc.com//climg/60810ff809bd1b3c05540302.jpg

http://img1.sycdn.imooc.com//climg/608110010950aeee05630145.jpg

如果此时调用f,那么得到的返回值就是fn2的返回值,即1:

http://img1.sycdn.imooc.com//climg/6081105709fa5daf06760428.jpg

如果不是这样的,建议同学举个代码的例子,老师再为你解答。

祝学习愉快!

  • 返回值就是结果的意思吗?最后一张图:调用fn1,执行函数,下来执行fn2,执行到return fn2,意思是fn1的结果由fn2求得吗?

    内嵌函数fn2跟return fn2是并排的关系。所以执行第一步是fn2,完毕之后下来发现是return fn2,就返回去求得fn2的值就是fn1的值对吗?



    2021-04-22 15:25:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师