封装形变类(2)

来源:6-2 封装形变类(2)

weixin_慕的地5241954

2019-10-18 07:11:21

为什么在_add里return this了,还要在 其他动画里加return,这两个return的具体是什么,能结合代码说一下吗?

写回答

2回答

好帮手慕码

2019-10-18

同学你好!
首先要明白:因为调用函数,得到的是函数的返回值,若是没有返回值,会默认返回undefined

  1. 首先通过tf.translate('200px, 200px')调用translate方法, 动画效果是执行了,但是translate没有返回值,默认返回undefined,就相当于用undefined调用scale方法,所以调用不到,因此会报错:

    http://img.mukewang.com/climg/5da99d0b0903e7e605730054.jpg

    所以translate函数中是一定要添加返回值的。

  2. 调用_add函数,得到其返回值,如果没有_add的返回值,所以得到的是undefined,就是bh = undefined,然后translate函数会将调用_add得到的返回值undefined返回了。这样translate函数最终得到的返回值也是undefined。

    http://img.mukewang.com/climg/5da9a15b0905cfa910620217.jpg

        所以_add函数中也是一定要添加返回值的。

同学可以再理解一下。如还有其他别的疑问建议同学新开提问到问答区进行提问,这样的话便于同学复习时候进行归纳和总结~

如果帮助到了你,欢迎采纳,祝学习愉快~

0

好帮手慕码

2019-10-18

同学你好!
都是返回的意思,这块很简单,看下这个描述:因为调用函数,得到的是函数的返回值哦,若是没有返回值,会默认返回undefined,则无法接着在后面执行链式调用,会报错:

http://img.mukewang.com/climg/5da95307092e4e1705180162.jpg

因为先调用的是translate,如这里没有返回值的话,你在外面得到的依然是undefined,无法接着执行下一个。但是添加return的话,会得到后面函数执行的结果,再此次return出来,后面函数接着返回,这就是调用_add,得到了这个this,然后返回到了调用的位置,即:translate中,然后在在外面调用translate的时候,返回得到的这个this。

这里因为是方法中嵌套方法,所以在返回值这里稍微有点绕,但是原理“调用函数,得到的是函数的返回值”,这个是不变的,可以根据这里,在看下代码哦。

如果帮助到了你,欢迎采纳,祝学习愉快~

0
heixin_慕的地5241954
h 谢谢,还是结合代码注释说一下把。
h019-10-18
共1条回复

0 学习 · 10739 问题

查看课程