function s(){
this.n=1;
this.fun=function(){
console.log(this.n++)
return this
};
this.fun1=function(){
console.log(this.n++)
return this
}
}
var a=new s();
a.fun().fun1();
说白了就是在函数s()内部还有函数fun()和函数fun1(),当其实例化的对象调用了内部函数fun()或者fun1(),它的this指向的是函数的调用者也就是实例化的对象,因此,a.fun()的返回值实际上就是a本身,自然也就能够链式调用了。