紫衣仙女
手写了一个小计算器,可以理解一下calc = { i: 0, init(n) { this.i = n; return this; }, add(n) { this.i += n; return this }, minus(n) { this.i -= n; return this }, multiply(n) { this.i *= n; return this }, result() { return this.i }}由于this总是返回调用当前函数的对象,因此当我们把函数封装在对象中时,在函数中return this时返回的是当前调用这个函数的对象,在上例中返回的就是calc对象。又因为calc对象中又包含了多个函数,因此可以继续调用下去。只要函数中返回的是this,这个链式调用就可以一直进行下去~