这里的链式调用为什么能同时添加2个功能&^
这个是老师之前讲的,我总结的,只有subtract起效果,而老师这里的代码:
operation.addOperation('mod', function (num1, num2) {
return num1 % num2;
}).addOperation('power', function (base, power) {
return Math.pow(base, power);
});
两个都有效果
正在回答
同学你好,先举个简单的例子看一下:
this的指向,就是谁调用的,就指向谁,在这个例子里面,是obj调用的函数add,所以在函数add里面,this就指向obj,这个案例也是同样的道理,是operation对象调用的addOperation函数,所以this就指向operation。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
同学你好,关于同学的问题解答如下:
1、首先同学要明白的是链式调用能实现的前提是什么,那就是调用之后,返回的还是当前的对象,这也就是为什么之前的必须要返回return this。
2、再来看这个为什么能实现,把addOperation函数里面的this打印出来看一下:
打印结果如下:
this指向operation, addOperation方法是operation里面的一个属性:
通过return将这个对象返回出去,那么,调用addOperation方法后返回的结果是operation对象,所以可以接着调用addOperation方法
综上,链式调用简单理解就是可以执行对象下的一个方法后,返回结果是当前对象,可以继续调用该对象下方法。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧