请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

闭包练习题


老师,你好!我想问下tourist传入数值2、3、5后,为什么是传递到go这个函数的step参数里面?而不是factory这个函数里!

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

2回答

为了什么而活着 2018-01-08 15:47:47

因为在 factory 函数的尾部有一句 return go;

return 关键的作用就是将 go 这个函数返回给 factory 函数, 简单点就可以理解为现在的 factory 函数实际上就是 go 函数了。

所以说你在传参给 tourist的时候,实际上是传参给 factory 的,又因为 factory 函数 等价于 go 函数, 所以tourist 的传参最终还是传到了 go 函数里面。


以上是个人见解,希望能够帮到您。 

1 回复 有任何疑惑可以回复我~
  • 提问者 fun_s #1
    那factory(1)呢?
    回复 有任何疑惑可以回复我~ 2018-01-10 20:44:20
Seven_柒柒 2018-10-12 21:27:07

tourist = factory(1)

其实,先执行factory(1) --->函数执行完后return函数 go ---->赋值,tourist = go。变量指向函数。意味着把一个函数赋值给一个变量  ,tourist() 等价于 go()

tourist(2)--->go(2)  

而factory(1) 是你想错了。其实老师的是 tourist = factory(origin)。就是其中参数的意思是初始位置是0

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号