我如何链接我的方法调用

How can I chain my method calls?

本文关键字:我的 方法 调用 链接 何链接      更新时间:2023-09-26

我有一个对象:

var mubsisapi = {
        step1   : function(){alert("a")}, 
        step2   : function(){alert("b")}
    }
$.extend(false, mubsisapi)
mubsisapi.step1().step2();

给出step1(),不给出step2()step2()不发出警报。我该怎么做呢?

不是JSON,而是javascript对象。它不是很流利,但它可以:

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

如果您想链接它,则需要从函数返回this

是的,你的对象应该是这样的:

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

返回自身以允许链接

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

不能链接函数调用。你要么单独调用它们:

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

或者你可以改变你的step1函数,这样你可以把它们链接起来:

var mubsisapi = {
        step1   : function(){alert("a"); return mubsisapi;}, 
        step2   : function(){alert("b")}
    }
$.extend(false, mubsisapi)
mubsisapi.step1().step2();