比如,有这样一个方法,该方法可以不断链式调用自己,并且叠加输入内容最后输出。 看着似乎挺简单的,于是按照网上的资料,我简单写了一个
var Chain={
sav: '',
a1:function(val){
this.sav = this.sav + val
return this;
}
};
Chain.a1('aaa').a1('bbb').a1('ccc');
console.log(Chain.sav); //返回 aaabbbccc
emm,好像哪里不对,想了想,原来是 return 被 this 占用了,没法输出最终的参数。
现在有一需求:
如何能够让 a1 这个函数,能够意识到已经是链式调用的末尾了,从而不再 return 自己( this ), 而是输出实际需要的内容呢?
虽然可以准备一个函数专门返回 sav 的内容,这的确可以做到(比如我准备一个名为 show 的函数,里面直接返回 sav 的值):Chain.a1('aaa').a1('bbb').a1('ccc').show();
但专门写一个 function 比较麻烦,总是跟着个小尾巴每次调用也麻烦。
网上查了查,似乎没有什么有用资料。希望有熟悉 js 的 v 友指教一下,谢谢~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.