第五次修改中 addOperation 为什么要return this???
addOperation 为什么要return this
视频中传入取模方法的参数后,代码应该是这样执行的吧?
this[mod]=function(num1,num2){
return num1%num2
}
this的指向是整个operation对象吗?
麻烦解释一下呗?绕晕了
正在回答
这样写也是为了连缀
比如,我需要调用2次addOperation方法。
我可以:
1、operation.addOperation()
operation.addOperation()像这样分别调用两次
2、operation.addOperation().addOperation()也可以像这样连接在一起调用,叫连缀,也可以说是链式调用
连缀就需要返回原对象,这样每一次调用方法之后返回原对象,就又可以接着调用该方法了。
代码写的多了,就明白这其中意义了,可以先跟着老师的思路去写,多走几遍流程,很多东西先学会用,用的多了,慢慢就了解了。
如果没有相应的符号,那么就去创建相应的符号,如果有这个符号,那么就去调用对象中相应的符号进行计算。
比如下面这个代码:
operate.addOperation('mod', function (num1, num2) { return num1 % num2; }).addOperation('power', function (base, power) { return Math.pow(base, power); }).addOperation('invert', function (num) { return 1 / num; });
这里面的符号在operation中是没有的,调用addOperation方法,传入参数,没有符号mod,那么operation[name] = fn;就将mod后面的function赋值给mod,也就是
mod: function(num1, num2) {num1 % num2}
如果有这个mod符号,那么就直接调用对象operation中的运算方法。
祝学习愉快!
- 参与学习 1887 人
- 提交作业 4643 份
- 解答问题 5760 个
有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星