How can I chain my method calls?

后端 未结 5 1107
长发绾君心
长发绾君心 2020-12-10 14:28

I have an object:

var mubsisapi = {
        step1   : function(){alert(\"a\")}, 
        step2   : function(){alert(\"b\")}
    }

$.extend(false, mubsisapi)         


        
相关标签:
5条回答
  • 2020-12-10 14:55

    Yes, your object should look like this:

    var mubsisapi = {
        step1   : function(){alert("a"); return this; }, 
        step2   : function(){alert("b"); return this; }
    }
    

    returning itself to allow chaining.

    0 讨论(0)
  • 2020-12-10 15:00
    var mubsisapi = {
            step1   : function(){alert("a"); return mubsisapi;}, 
            step2   : function(){alert("b"); return mubsisapi;}
        }
    
    0 讨论(0)
  • 2020-12-10 15:06

    You need to return this from the function if you want to chain it.

    0 讨论(0)
  • 2020-12-10 15:13

    You cannot chain your function calls. You either have to call them separately:

    mubsisapi.step1();
    mubsisapi.step2();
    

    or you can change your step1 function so you can chain them:

    var mubsisapi = {
            step1   : function(){alert("a"); return mubsisapi;}, 
            step2   : function(){alert("b")}
        }
    
    $.extend(false, mubsisapi)
    mubsisapi.step1().step2();
    
    0 讨论(0)
  • 2020-12-10 15:15

    Not JSON, but javascript object. It's not fluent, but it can be:

    var mubsisapi = {
            step1   : function(){alert("a"); return this;}, 
            step2   : function(){alert("b"); return this;}
        }
    
    $.extend(false, mubsisapi)
    mubsisapi.step1().step2();
    
    0 讨论(0)
提交回复
热议问题