链式调用的核心就在于调用完的方法将自身实例返回

    • 普通调用
    1. //创建一个bird类
    2. function Bird() {
    3. this.startRun = function () {
    4. console.log("开始");
    5. }
    6. this.stopRun = function () {
    7. console.log("结束");
    8. }
    9. }
    10. var bird = new Bird();
    11. bird.startRun(); // 开始
    12. bird.stopRun(); // 结束

    该种方式会多次重复使用一个对象变量

    • 链式调用
    1. //创建一个bird类
    2. function Bird() {
    3. this.startRun = function () {
    4. console.log("开始");
    5. return this; // return this 返回调用当前方法的对象
    6. }
    7. this.stopRun = function () {
    8. console.log("结束");
    9. return this;
    10. }
    11. }
    12. // new 在实例化的时候 this 会指向创建的对象
    13. var bird = new Bird();
    14. bird.startRun().stopRun(); // 开始 结束

    链式调用这助于简化代码的编写工作,让代码更加简洁、易读,同时也避免多次重复使用一个对象变量

    • 示例
    1. var obj = {
    2. a: function() {
    3. console.log("a");
    4. return this;
    5. },
    6. b: function() {
    7. console.log("b");
    8. return this;
    9. },
    10. };
    11. obj.a().b();