代码改变世界

JavaScript Patterns 5.8 Chaining Pattern

2014-07-03 23:20  小郝(Kaibo Hao)  阅读(277)  评论(0编辑  收藏  举报

Chaining Pattern - Call methods on an object one after the other without assigning the return values of the previous operations to variables and without having to split your calls on multiple lines.

var obj = {

    value: 1,

    increment: function () {

        this.value += 1;

        return this;

    },

    add: function (v) {

        this.value += v;

        return this;

    },

    shout: function () {

        alert(this.value);

    }

};

// chain method calls

obj.increment().add(3).shout(); // 5

// as opposed to calling them one by one

obj.increment();

obj.add(3);

obj.shout(); // 5

Pros and Cons of the Chaining Pattern

Pros

  1. save some typing and create more concise code that almost reads like a sentence.
  2. splitting your functions and creating smaller, more specialized functions, as opposed to functions that try to do too much. This improves the maintainability in the long run.

Cons

  debug code written this way which it's hard to check which part is wrong in the same line.

 

References: 

JavaScript Patterns - by Stoyan Stefanov (O`Reilly)