JavaScript 链式调用

我们使用jquery的时候,jquery的简单的语法及可实现链式调用方法,现在我们自己也封装一个链式调用的方法,来理解下 jquery中如何封装链式调用 无非就是每次调用一个方法的时候 给这个方法返回this即可,this指向该对象自身,我们看看代码:

 1 // 定义一个简单的对象,每次调用对象的方法的时候,该方法都返回该对象自身
 2 var obj = {
 3     a: function(){
 4         console.log("输出a");
 5         return this;
 6     },
 7     b:function(){
 8         console.log("输出b");
 9         return this;
10     }
11 };
12 console.log(obj.a().b()); // 输出a 输出b 输出this指向与obj这个对象
13 
14 // 下面我们再看下 上面的通过Function扩展类型添加方法的demo如下:
15 Function.prototype.method = function(name,func) {
16     if(!this.prototype[name]) {
17         this.prototype[name] = func;
18         return this;
19     }
20 }
21 
22 String.method('trim',function(){
23     return this.replace(/^s+|s+$/g,'');
24 });
25 String.method('log2',function(){
26     console.log("链式调用");
27     return this;
28 });
29 String.method('r',function(){
30     return this.replace(/a/,'');
31 });
32 var str = " abc ";
33 console.log(str.trim().log2().r()); // 输出链式调用和 bc

学习资源:理解js中的链式调用

原文地址:https://www.cnblogs.com/xiaochechang/p/5740574.html